//檢查文件夾是否已存在 var relativePath = "_downloads/zipFile"; plus.io.resolveLocalFileSystemURL(relativePath, function(entry) { console.log("文件夾存在,地址=" + relativePath); //本地相對路徑("_downloads/logo.jpg")轉成SD卡絕對路徑("/storage/emulated/0/Android/data/io.dcloud.HBuilder/.HBuilder/downloads/logo.jpg"); var sd_path = plus.io.convertLocalFileSystemURL(relativePath); alert("文件夾已存在路徑:" + sd_path); var relativePath2 = "_downloads/zipFile/111.txt";//相對路徑 //調用下載文件
setImgFromNet(url,relativePath2);
}, function(e) { //若是文件夾不存在,建立文件夾 console.log("建立文件夾路徑=" + plus.io.convertLocalFileSystemURL(path)); plus.io.requestFileSystem(plus.io.PUBLIC_DOWNLOADS, function(success) { success.root.getDirectory(path, {create: true}, function() {//entry建立成功 console.log('文件夾建立成功') getCreateFile(sid,type,relativePath,filename); },function(e){ console.log('文件夾建立失敗') }); });
});
/*聯網下載文件,loadUrl遠程服務器下載路徑,relativePath手機路徑*/ function setImgFromNet (loadUrl,relativePath) { //建立下載任務 var sd_path = plus.io.convertLocalFileSystemURL(relativePath);//得出手機的物理路徑 var dtask = plus.downloader.createDownload(loadUrl, {method: "GET",filename:sd_path,timeout: 10}, function(d, status) {//filename自定義文件下載的路徑(包含文件名) if (status == 200) { //下載成功 console.log("下載成功=" + relativePath); } else { //下載失敗,需刪除本地臨時文件,不然下次進來時會檢查到圖片已存在 console.log("下載失敗=" + status+"=="+sd_path); //dtask.abort();//文檔描述:取消下載,刪除臨時文件;(但經測試臨時文件沒有刪除,故使用delFile()方法刪除); } }); //啓動下載任務 dtask.start(); }
參考地址路徑:https://blog.csdn.net/swingyaoye/article/details/50403752html
主要解決將下載後的文件保存到手機本地(物理)路徑。web
下面這個解決手機端建立空文件夾;手機端下載文件的話能夠調用上面,「聯網下載指定路徑」直接下載文件。服務器
var path = _downloads+"/"+ filename; console.log("文件路徑=" + plus.io.convertLocalFileSystemURL(path));//建立手機文件的物理路徑 plus.io.requestFileSystem(plus.io.PUBLIC_DOWNLOADS, function(success) { success.root.getDirectory(path, {create: true}, function(entry) { /*entry.createWriter( function(suc) { }, function(err){ console.log("寫入失敗") } )*/ },function(e){ console.log('文件夾建立出錯') }); var filepath = path+"/111.txt"; success.root.getFile(path, {create: true}, function(entry) { /*entry.createWriter( function(suc) { }, function(err){ console.log("寫入失敗") } )*/ },function(e){ console.log('文件建立出錯') }); });
參考地址:http://www.webkfa.com/one4/w1303.html測試