我试图在iOS上使用带Phonegap 3.3.0的FileTransfer插件。过去我的应用程序一直在使用它,但是自从我更新了所有库JQuery(1.11.0),JQuery Mobile(1.4.1)以来,我没有收到任何与文件传输相关的回调。

我知道文件正在下载,因为我可以看到它们出现在iOS Simulator临时文件等文件系统中。此外,由于文件看起来完整,它们似乎已完成下载。

我的代码:

function download(url, dest, cb) {

    var fileTransfer = new FileTransfer();
    console.log("remote:"+url+" local:"+dest);

    fileTransfer.onprogress = progress;
    fileTransfer.download(url, dest, downloadSuccess, fail);
}
function progress() {
    console.log("progress:"+arguments);
}
function fail() {
    console.log("fail:"+arguments);
}
function downloadSuccess() {
    console.log("download complete: " + arguments);
}


对我可能做错的事情有任何想法吗?

最佳答案

Phonegap 3.3.0的文件系统具有新方法。如果您一直使用fullpath进行输入,则需要将其替换为toURL()。

同样在config.xml文件中,您必须添加

<preference name="iosPersistentFileLocation" value="Compatibility" />


最好的选择是点击此链接https://github.com/apache/cordova-plugin-file/blob/dev/doc/index.md

进行这些更改对我有用。希望它也对您有用。

10-02 19:05