【发布时间】:2014-07-30 05:25:15
【问题描述】:
我有一个简单的混合应用程序,它应该使用cordova 2.3.0 下载文件。来自文档:
var filePath = someFullPath; //e.g. "file:///mnt/sdcard/myfile.pdf"
var uri = encodeURI("http://someurl.com/myfile.pdf");
var fileTransfer = new FileTransfer();
fileTransfer.download(
uri,
filePath,
function(entry) {
console.error("download complete: " + entry.fullPath);
},
function(error) {
console.error("download error source " + error.source);
console.error("download error target " + error.target);
console.error("donwload error code " + error.code);
console.error("http: "+error.http_status);
}
);
}
结果是错误 3,Connection_Err,http_status 401,资源 myfile.pdf 在 http 服务器上是公开的,不需要身份验证。
我尝试使用 getFile("my file.pdf", {create: true, Exclusive: false}, success, fail); 创建文件 file://mnt/sdcard/myfile.pdf或者只是将字符串设置为现有目录。它在这两种情况下都不起作用。
你能建议吗?我必须使用cordova 2.3.0。
更新:
我认为我的问题与这个问题非常接近:FileTransfer in Phonegap code 401
我有 Android API 17,cordova 2.3.0,我需要设置 allow origin = "*",但我无法创建 config.xml 文件,由于某些原因会引发错误。你遇到过这个问题吗?
我在 res 中创建了文件夹 xml(当时没有),并在这样的文件夹中创建了一个文件 config.xml。 config.xml 的内容是
<access origin="*"></access>
当我运行该应用程序时,我收到一个带有以下错误的警报:Error Initializing Cordova: Class not found
【问题讨论】:
-
如果您将 phonegap 2.3.0 下载为 zip 文件。在该 zip 文件中,您可以找到 /phonegap-2.3.0/lib/android/xml 文件夹,只需将该 xml 复制到您的 eclipse res 文件夹中即可。就是这样。
标签: android cordova download file-transfer hybrid-mobile-app