uniapp(安卓)之文件下載

uniapp(安卓)之文件下載

 方法:

// 本地路徑開頭使用file://,跟上手機文件本地目錄storage/emulated/0,
// 這時用戶文件管理器能看到的了,之後創建 下載文件夾 作爲文件夾,
// 後綴是用於文件命名和格式修改,大家可以使用變量。
var url = this.downFileSrc;
let dtask = plus.downloader.createDownload(url, {
	filename: "file://storage/emulated/0/下載文件夾/" + this.downFileName //利用保存路徑,實現下載文件的重命名
},(d, status)=> {
	//d爲下載的文件對象
	if (status == 200) {
		uni.showToast({
			icon: 'none',
			mask: true,
			title: '已保存到文件夾:/下載文件夾/' + this.downFileName, //保存路徑
			duration: 3000,
		});
		//下載成功,d.filename是文件在保存在本地的相對路徑,使用下面的API可轉爲平臺絕對路徑
		let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
		setTimeout(()=>{
			plus.runtime.openFile(d.filename); //選擇軟件打開文件
		},1500)
	} else {
		//下載失敗
		plus.downloader.clear(); //清除下載任務
		uni.showToast({
			icon:'none',
			mask:true,
			title: '下載失敗,請稍後重試',
		});
	}
})
dtask.start();

  注意:

1.url指文件下載的接口路徑。文件將被下載到手機內部存儲的”下載文件夾“文件夾下。接口爲get請求。

 2.uni.downloadFile、uni.saveFile的方式也可以將文件保存到手機,但保存的位置不受控制,很難在手機存儲中找到。

3.plus.downloader.createDownload方法保存,由於直接使用請求接口路徑,還需要配置token,所以建議添加到request.js文件中。代碼如下:

downloadFile(url = "",name){
		let pathurl = config.uni_app_web_api_url + url;
		let tocken = storage.get("tocken");
		let header = {}
		if (tocken != null) {
			header = {
				"Authorization": 'Bearer ' + tocken,
			};
		}
		let dtask = plus.downloader.createDownload(pathurl, {
			filename: "file://storage/emulated/0/下載文件夾/"+name+".pdf" //利用保存路徑,實現下載文件的重命名
		},(d, status)=> {
			console.log(d)
			console.log(status)
			//d爲下載的文件對象
			if (status == 200) {
				uni.hideLoading();
				uni.showToast({
					icon: 'none',
					mask: true,
					title: "已保存到文件夾:/下載文件夾/"+name+".pdf", //保存路徑
					duration: 3000,
				});
				//下載成功,d.filename是文件在保存在本地的相對路徑,使用下面的API可轉爲平臺絕對路徑
				let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
				setTimeout(()=>{
					plus.runtime.openFile(d.filename); //選擇軟件打開文件
				},1500)
			} else {
				//下載失敗
				plus.downloader.clear(); //清除下載任務
				uni.showToast({
					icon:'none',
					mask:true,
					title: '下載失敗,請稍後重試',
				});
			}
		})
		dtask.start();
	},

  調用:(api)

export function exportZrWord(id,name) {
	return request.downloadFile("/honor/spaceData/exportZrWord?projectId=" + id,name)
}

  

 

 

 

鑽研不易,轉載請註明出處。。。。。。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章