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

相关文章
相关标签/搜索