我有一个简单的混合应用程序,应该使用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服务器上公开,不需要auth。
我尝试使用getFile创建文件文件://mnt/sdcard/myfile.pdf("我的文件.pdf",{create:true,exclusive:false},成功,失败) ;或者只是将字符串设置为现有目录。它在两种情况下都不起作用。
你能告诉我吗?我必须使用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>
当我运行应用程序时,我收到一条警告,显示此错误:错误初始化Cordova:未找到类
答案 0 :(得分:1)
所有代码都是正确的,我的框架配置存在问题:
这个项目有另一个项目作为图书馆依赖。此项目没有config.xml文件将URL列入白名单。图书馆项目了!我只需要添加
<access origin="http://*.somedomain.com"></access>
到“右”的config.xml cordova文件,该文件位于Library项目中,而不是主项目本身。
答案 1 :(得分:0)
在我的设置中,访问权限还不够。 我在我的应用中添加了插件cordova-plugin-whitelist。 然后它工作正常。