sencha touch + Cordova 3.x下載文件

今天實現了一個文件下載功能,在網上找了下資料發現有些問題。正則表達式

我用的是小米1s,安卓 4.1.2,cordova 3.5,打包測試運行正常apache

首先在控制層launch方法中加入如下代碼:app

 1         // 等待加載PhoneGap
 2         document.addEventListener("deviceready", onDeviceReady, false);
 3         // PhoneGap加載完畢
 4         function onDeviceReady() {
 5             //查找是否有zgky這個文件夾,沒有則建立,而後找到這個文件夾的絕對路徑
 6             window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
 7                 //util.appRootDirName 全局變量,這裏是zgky
 8                 fileSystem.root.getDirectory(util.appRootDirName, {
 9                     create: true,
10                     exclusive: false
11                 }, function (entry) {
12                     //網上流傳的資料中都是使用fullPath,在這裏我獲取到的是相對目錄,在下載時使用會報錯,因此換作了toURL()
13                     //這是一個全局全局變量,用以保存路徑
14                     util.fullPath = entry.toURL();
15                     //console.log('建立文件夾成功');
16                     //console.log(util.fullPath);
17                 }, function () {
18                     console.log('建立文件夾失敗');
19                 });
20             }, function () {
21                 console.log('建立文件夾失敗');
22             });
23         }

 

在獲取到一個絕對路徑以後,咱們就能夠用一個方法來下載文件了,方法以下,調用此方法便可下載。測試

 1   downFile: function (url) {
 2             var me = this,
 3                 //正則表達式,用於獲取文件名稱
 4             reg = /[^\\\/]*[\\\/]+/g,
 5             //獲取下載地址,me.fullPath在main控制層中獲取,這是一個全局變量
 6             filePath = me.fullPath + "/" + url.replace(reg, ''),
 7             //下載地址
 8             url = encodeURI(url),
 9             fileTransfer = new FileTransfer();
10              console.log('正在下載中,請等待...');
11             fileTransfer.download(url, filePath,
12             function (entry) {
13                  console.log('下載成功!請在' + entry.fullPath + '目錄中查看');
15 }, 16 function (error) { 17  console.log('下載失敗!' + error.source);
19 }); 20 }

在cordova中須要在建立項目時引入如下插件,this

::引入文件插件
cordova plugin add org.apache.cordova.file
::引入文件管理插件
cordova plugin add org.apache.cordova.file-transferurl

相關文章
相關標籤/搜索