<!-- 打包的时候phonegap自己会添加这个文件-->
<script type="text/javascript" charset="utf-8" src="cordova.js"></script> <!-- <script type="text/javascript" charset="utf-8" src="js/FileTransfer.js"></script> -->
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load //
document.addEventListener("deviceready",onDeviceReady,false);
// device APIs are available //
function onDeviceReady() {
alert('onDeviceReady2222');
try {
/*
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.resolveLocalFileSystemURL = window.resolveLocalFileSystemURL || window.ebkitResolveLocalFileSystemURL; //根据URL取得文件的读取权限
*/ //查找是否有download这个文件夹,没有则创建,然后找到这个文件夹的绝对路径
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
fileSystem.root.getDirectory("download", {
create: true,
exclusive: false
}, function (entry) {
//网上流传的资料中都是使用fullPath,在这里我获取到的是相对目录,在下载时使用会报错,所以换做了toURL()
//这是一个全局全局变量,用以保存路径
fullPath = entry.toURL();
alert(fullPath.toString() + '创建文件夹成功');
//console.log(fullPath);
}, function () {
console.log('创建文件夹失败');
alert('创建文件夹失败');
});
}, function () {
console.log('创建文件夹失败');
alert('创建文件夹失败');
});
}
catch (e) {
alert(e.name + ":" + e.message);
}
}
function downloadFile() {
alert(androidFile); try {
// onDeviceReady();
var ft = new FileTransfer();
var uri = encodeURI(androidFile);
var fileURL = fullPath + androidFile.substr(androidFile.lastIndexOf('/') + 1);
alert("准备下载"+fileURL); ft.download(
uri,
fileURL,
function(entry) {
OpenFile(entry.fullPath);
console.log("download complete: " + entry.toURL());
},
function(error) {
alert("download error source " + error.source);
alert("download error target " + error.target);
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
},
false,
{
headers: {
"Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
}
}
);
}
catch (e) {
alert(e.name + ":" + e.message);
}
}
<div>
<a id="androidurl" href="#" onclick="downloadFile();return false;"><img class="productImg" src="res/android.png" alt="ANDROID" width="80px" height="80px" />Android版</a>
</div>

前提是安装插件:

cordova create my-app

cd my-app

cd plugin

cordova plugin add org.apache.cordova.file-transfer

cordova plugin add org.apache.cordova.file

cordova build android

测试版本是cordova 4.1.2

【phonegap】下载文件的更多相关文章

  1. phonegap文件,目录操作以及网络上传,下载文件(含demo)

    正在做一个跨平台的应用,需要使用phonegap进行文件的一些基本操作. 需求如下:可以选择本地图片,或者从相机选择图片,并进行显示在本地,然后上传到服务器,以及可以从服务器下载图片显示出来,如果本地 ...

  2. sencha touch + Cordova 3.x下载文件

    今天实现了一个文件下载功能,在网上找了下资料发现有些问题. 我用的是小米1s,安卓 4.1.2,cordova 3.5,打包测试运行正常 首先在控制层launch方法中加入以下代码: // 等待加载P ...

  3. Java下载文件(流的形式)

    @RequestMapping("download") @ResponseBody public void download(HttpServletResponse respons ...

  4. 使用批处理文件在FTP服务器 上传下载文件

    1.从ftp服务器根目录文件夹下的文件到指定的文件夹下 格式:ftp -s:[配置文件] [ftp地址] 如:ftp -s:c:\vc\ftpconfig.txt   192.168.1.1 建立一个 ...

  5. 通过form表单的形式下载文件。

    在项目中遇到问题,要求动态拼接uri下载文件.但是由于项目的安全拦截导致window.location.href 和 window.open等新建窗口的方法都不行. 无意间百度到了通过form表单来下 ...

  6. SecureCRT上传和下载文件

    SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...

  7. HTTP 错误 404.3 – Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    今天,在vs2013中新建了一个placard.json文件,当我用jq读取它的时候,去提示404,直接在浏览器访问这个文件,提示: HTTP 错误 404.3 – Not Found 由于扩展配置问 ...

  8. FTP下载文件失败

    这几天的定时任务下载文件的脚本失败了. 于是手工执行测试,发现报550 Permission denied. Passive mode refused. 意思就是被动模式下,没有权限获取文件. 解决方 ...

  9. 如何使用FileZilla上传和下载文件

    一.使用FileZilla上传文件 1 打开 FileZilla 按照如下图所示,填写远程 Linux 的 IP ,用户名,密码,还有端口号(默认22) 2 选中左边需要上传的文件,然后拖到右边,等待 ...

  10. 开发板tftp下载文件

    搭建过程: 1.安装相关软件包:tftpd(服务端),tftp(客户端),xinetd sudo apt-get install tftpd tftp xinetd 2.建立配置文件(蓝色的目录是可以 ...

随机推荐

  1. linux上安装mysql以后root不能登录的解决办法

    今天心血来潮在linux上装了mysql,装完以后用命令mysql -uroot -p登录时提示 解决办法: 使用ps aux|grep mysql 查出pid 使用kill pid结束mysql进程 ...

  2. 51nod 1640 MST+二分

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1640 1640 天气晴朗的魔法 题目来源: 原创 基准时间限制:1 秒 ...

  3. git回滚到某一个commit

    git reset 046bd7b5c1d134b8123f59ea71b19875a6a2fc3e git reset --hard 046bd7b5c1d134b8123f59ea71b19875 ...

  4. vue项目中报常见错误

    最近做项目,添加了less样式之后报错, 添加了如下样式: 报错如下图: 于是,就把相关的依赖也都安装了 以为这样会好使啦,后来发现原来是vue-style-loader的问题, 安装的vue-sty ...

  5. 交叉编译工具链介绍《Building Embedded Linux Systems》

    1.前言 配置和编译一个合适的GNU工具链是相对复杂的并且需要很精细的操作,包括你需要对不同软件库之间的依赖关系.它们的各自的任务,不同软件库版本情况都有比较好的了解,编译工具链是一个乏味的工作. 2 ...

  6. hdu-5117 Fluorescent(状压dp)

    题目链接: Fluorescent Time Limit: 3000/3000 MS (Java/Others)     Memory Limit: 512000/512000 K (Java/Oth ...

  7. linux下json库的编译及例程

    .下载JsonCpp http://sourceforge.net/projects/jsoncpp/files/ .下载scons http://sourceforge.net/projects/s ...

  8. 深入理解java虚拟机-第四章

    第4章 虚拟机性能监按与故障处理工具 jps 虚拟机进程状况工具 jstat 虚拟机统计信息监视工具 JVM Statistics Monitoring Tool jstat [ option vmi ...

  9. STL源码解析之vector自实现

    最近仔细阅读了下侯捷老师的<STL源码剖析>的前三章内容:空间配置器.迭代器.traits技术,为了加强理解和掌握,特参照源码自实现Vector,以下对相关重点知识进行说明. 1. vec ...

  10. Python sh库学习

    官方文档有句话"allows you to call any program",并且: helps you write shell scripts in Python by giv ...