我有一个简单的混合应用程序,应使用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},成功,失败)创建文件file://mnt/sdcard/myfile.pdf。或只是将字符串设置到现有目录。在两种情况下都无法正常工作。
你能给些建议么?我必须使用cordova 2.3.0。
更新:
我认为我的问题非常接近这一问题:Phonegap代码401中的FileTransfer
我有Android API 17,cordova 2.3.0,我需要设置allow origin =“ *”,但是由于某些原因,它会引发错误,因此我无法创建config.xml文件。你遇到这个问题了吗?
我在res(没有一个)中创建了文件夹xml,并在此类文件夹中创建了文件config.xml。config.xml的内容是
<access origin="*"></access>
当我运行应用程序时,出现以下错误提示:初始化Cordova错误:找不到类
所有代码都是正确的,这是我配置框架时遇到的问题:
这个项目还有另一个依赖库的项目。该项目没有将URL列入白名单的config.xml文件。图书馆项目了!我只需要添加
<access origin="http://*.somedomain.com"></access>
到“正确”的config.xml cordova文件,该文件在Library项目中,而不在主项目本身中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句