我正在使用cordova-plugin-file-transer从服务器下载pdf文件。
运行该代码:
document.addEventListener("deviceready", onDeviceReady, false);
var fileTransfer;
var uri;
var fileURL;
// Datei-Bibliothek erst aufrufen, wenn das Device geladen ist.
function onDeviceReady() {
fileTransfer = new FileTransfer();
uri = encodeURI('http://example.com/file.pdf');
fileURL = getLocalPath('myNewFile.pdf');
}
getLocalPath = function(file) {
return cordova.file.applicationDirectory.replace('file://', '') + 'www/application/' + file;
};
function openDocument() {
fileTransfer.download(
uri,
fileURL,
function(entry) {
alert("download complete: " + entry.toURL());
console.log("download complete: " + entry.toURL());
},
function(error) {
console.log("download error source " + error.source);
console.log("download error target " + error.target);
console.log("upload error code" + error.code);
alert("download error source " + error.source);
},
false
);
}
给我以下问题:
下载错误来源http://example.com/file.pdf index.html:91 下载错误目标/www/application/myNewFile.pdf index.html:92 上传错误代码1
我已查找错误代码,这意味着:
1 = FileTransferError.FILE_NOT_FOUND_ERR
所以我认为应用程序在本地存储文件时遇到一些麻烦。但我认为本地文件路径应该是有效的......或者我错了吗?
应用尝试使用的本地路径:
/www/application/myNewFile.pdf
该文件存在于服务器上,可以访问。我复制了URL,我可以直接在浏览器中下载文件。
ngCordova的文档建议使用以下代码:
var targetPath = cordova.file.documentsDirectory +" testImage.png";
但它为我返回null。