android–Cordova 3.1上的文件传输下载文件问题

android–Cordova 3.1上的文件传输下载文件问题,第1张

概述我目前正在使用cordova3.1创建我的第一个web应用程序.我很新,所以请光临我.在这个应用程序中,我需要能够将文件下载到手机然后打开它,但我似乎无法通过如何下载文件.我使用cordovasdoc页面的文件传输代码.Everyting随CLI安装.这是我走了多远:<scripttype="text/javascript"

我目前正在使用cordova 3.1创建我的第一个web应用程序.我很新,所以请光临我.

在这个应用程序中,我需要能够将文件下载到手机然后打开它,但我似乎无法通过如何下载文件.

我使用cordovas doc页面的文件传输代码. Everyting随Cli安装.

这是我走了多远:

<script type="text/JavaScript" charset="utf-8" src="cordova.Js"></script><script type="text/JavaScript" charset="utf-8">document.addEventListener("deviceready", onDeviceReady, false);function onDeviceReady() {   download();}    function download(){        var filePath = '/mnt/sdcard';        var fileTransfer = new fileTransfer();        var uri = encodeURI("https://www.dropBox.com/s/27bxw65u4ga5is0/test.pdf");        fileTransfer.download(            uri,            filePath,            function(entry) {                console.log("download complete: " + entry.fullPath);            },            function(error) {                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=="                }            }        );}

config.xml中

<access origin="*" /><feature name="file"><param name="androID-package" value="org.apache.cordova.file.fileUtils" /></feature><feature name="fileTransfer"><param name="androID-package" value="org.apache.cordova.filetransfer.fileTransfer" /></feature>

和我的清单

<uses-permission androID:name="androID.permission.INTERNET" /><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" />

我得到的错误

 E/fileTransfer(878):     {"target":"\/sdcard\/test.pdf","source":"https:\/\/www.dropBox.com\/s\/27bxw65u4ga5is0\/tes t.pdf","http_status":0,"code":1} E/fileTransfer(878): java.io.fileNotFoundException:/sdcard/test.pdf: open Failed: EACCES (Permission denIEd) E/fileTransfer(878):   at libcore.io.IoBrIDge.open(IoBrIDge.java:416)         E/fileTransfer(878):     at java.io.fileOutputStream.<init>(fileOutputStream.java:88) E/fileTransfer(878):   at    org.apache.cordova.CordovaResourceAPI.openOutputStream(CordovaResourceAPI.java:290) E/fileTransfer(878):   at org.apache.cordova.CordovaResourceAPI.openOutputStream(CordovaResourceAPI.java:271) E/fileTransfer(878):   at org.apache.cordova.filetransfer.fileTransfer.run(fileTransfer.java:711)

我花了将近2天的时间试图解决这个问题而没有成功.所以任何帮助都会非常有用.

编辑:已解决

删除Cordova 3.1并手动安装2.7.0并使其正常工作.

解决方法:

不确定3.1,但对于最新版本的Cordova(3.3),较新的(1.0.0)版本的file使用文件系统URL而不是文件路径.像这样的东西:

cdvfile://localhost/persistent/path/to/file

请参阅本文档底部的注释:https://github.com/apache/cordova-plugin-file-transfer/blob/31ac00d3ae35f9ca280cf4e6c9edc9df23ea95b5/doc/index.md

总结

以上是内存溢出为你收集整理的android – Cordova 3.1上的文件传输下载文件问题全部内容,希望文章能够帮你解决android – Cordova 3.1上的文件传输下载文件问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1119936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存