sencha touch + Cordova 3.x下载文件
今天实现了一个文件下载功能,在网上找了下资料发现有些问题。
我用的是小米1s,安卓 4.1.2,cordova 3.5,打包测试运行正常
首先在控制层launch方法中加入以下代码:
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() {
//查找是否有zgky这个文件夹,没有则创建,然后找到这个文件夹的绝对路径
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
//util.appRootDirName 全局变量,这里是zgky
fileSystem.root.getDirectory(util.appRootDirName, {
create: true,
exclusive: false
}, function (entry) {
//网上流传的资料中都是使用fullPath,在这里我获取到的是相对目录,在下载时使用会报错,所以换做了toURL()
//这是一个全局全局变量,用以保存路径
util.fullPath = entry.toURL();
//console.log('创建文件夹成功');
//console.log(util.fullPath);
}, function () {
console.log('创建文件夹失败');
});
}, function () {
console.log('创建文件夹失败');
});
}
在获取到一个绝对路径之后,我们就可以用一个方法来下载文件了,方法如下,调用此方法即可下载。
downFile: function (url) {
var me = this,
//正则表达式,用于获取文件名称
reg = /[^\\\/]*[\\\/]+/g,
//获取下载地址,me.fullPath在main控制层中获取,这是一个全局变量
filePath = me.fullPath + "/" + url.replace(reg, ''),
//下载地址
url = encodeURI(url),
fileTransfer = new FileTransfer();
console.log('正在下载中,请等待...');
fileTransfer.download(url, filePath,
function (entry) {
console.log('下载成功!请在' + entry.fullPath + '目录中查看');
},
function (error) {
console.log('下载失败!' + error.source);
});
}
在cordova中需要在创建项目时引入以下插件,
::引入文件插件
cordova plugin add org.apache.cordova.file
::引入文件管理插件
cordova plugin add org.apache.cordova.file-transfer
sencha touch + Cordova 3.x下载文件的更多相关文章
- 前端是Sencha Touch+ Cordova(转)
从13年初开始,我的关注点一直在两个点上,一个是股票,一个是移动前端和大数据技术,互联网金融的发展会让互联网证券越来越火热,当然,我也希望将这两个关注点结合到一起,做一些事情. 现在,我的APP和 ...
- html5外包—长年承接html5外包业务:《Sencha Touch权威指南》下载
<Sencha Touch权威指南>内容简介:如何才能全面而透彻地理解和掌握移动应用开发框架Sencha Touch并开发出令人心动的移动应用?<Sencha Touch权威指南&g ...
- 亲手使用Sencha Touch + phonepag开发Web APP随笔 -- 环境安装篇
最近因为有个项目需要制作APP,考虑到需要兼容Android和IOS,所以想采用WebAPP的方式来开发.现在是从零开始学习之路,走起- 通过网上博客和论坛,开始安装了一堆软件: 1. Sench ...
- 用 Sencha Touch 构建移动 web 应用程序
Sencha Touch 是一个使用 HTML5.CSS3 和 JavaScript 语言构建的移动 web 应用程序框架,在本文中,学习如何应用您当前的 web 开发技能进行移动 web 开发.下载 ...
- 第四步 使用 adt-eclipse 打包 Cordova (3.0及其以上版本) + sencha touch 项目
cordova最新中文api http://cordova.apache.org/docs/zh/3.1.0/ 1.将Cordova 生成的项目导入到adt-eclipse中,如下: 项目结构如下: ...
- 第二步 (仅供参考) sencha touch + PhoneGap(cordova 2.9 及其以下版本) 使用 adt eclipse进行打包
首先你得安装一个adt-eclipse 参考资料 http://www.crifan.com/android_eclipse_offline_install_adt/ 然后就可以运行adt-eclip ...
- [Phonegap+Sencha Touch] 移动开发77 Cordova Hot Code Push插件实现自己主动更新App的Web内容
原文地址:http://blog.csdn.net/lovelyelfpop/article/details/50848524 插件地址:https://github.com/nordnet/cord ...
- sencha touch 2.3 结合cordova 环境搭建
sencha touch 2.3环境搭建必备工具 sencha touch 2.3 包sencha cmd 4.0以上JAVA JDK 1.7以上(注意JDK和JRE的区别)Ruby 1.9.3或更早 ...
- [Phonegap+Sencha Touch] 移动开发36 Phonegap/Cordova项目的图标和启动画面(splashscreen)配置
原文地址:http://blog.csdn.net/lovelyelfpop/article/details/40780111 Phonegap/Cordova项目中的config.xml文件.里面配 ...
随机推荐
- dubbox 的各种管理和监管[转]
dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控. 一.dubbo-admin的部署 这个比较简单,编译打 ...
- linux中wget命令
Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...
- git基于历史commit创建分支
基于以前的commit创建一个分支 步骤: 1.确定需要取出版本的commit值 git log 2.基于该commit创建分支 git branch <branch name> < ...
- Spring定时器的两种实现方式
有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz. 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 imp ...
- sparkSQL实际应用
提交代码包 /usr/local/spark/bin$ spark-submit --class "getkv" /data/chun/sparktes.jar 1.查询KV im ...
- UNIX环境编程学习笔记(9)——文件I/O之文件访问权限的屏蔽和更改
lienhua342014-09-10 1 文件访问权限 在文件访问权限和进程访问控制中,我们已经讲述过文件访问权限位,为了方便,我们重新列在下面, 表 1: 文件的 9 个访问权限位 st_mod ...
- JSP转发和重定向的区别
重定向: response.sendRedirect("地址"); a. 页面地址显示最终页面 b. 不可向后传递参数 c. 跳到外 ...
- event.keyCode与event.which
//Netscape/Firefox/Opera中不支持 window.event.keyCode,需要用event.which代替//IE用event.keCode方法获取当前被按下的键盘按 ...
- 【java】 java SPI
SPI(Service provider interface)是旨在由第三方实现或扩展的API.它可以用于启用框架扩展和可替换组件. 服务是一组众所周知的接口或(通常是抽象的)类.服务提供者是服务的特 ...
- SpringBoot------全局异常捕获
1.添加异常类 package myshop.config; import javax.servlet.http.HttpServletRequest; import org.springframew ...