手機端下載文件及建立文件夾

 

            //檢查文件夾是否已存在
                    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測試

相關文章
相關標籤/搜索