0

我是 PhoneGap 编程的新手。我的问题是

如何在 iOS 应用程序内部存储下载的 PDF 文件。这是我所拥有的:

function downloadFile() {
    alert('start');
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
        window.resolveLocalFileSystemURI("http://www.w3.org/2011/web-apps-ws/papers/Nitobi.pdf", onResolveSuccess, fail);
    }

function onFileSystemSuccess(fileSystem) {
    alert(fileSystem.name);
    console.log(fileSystem.name);
}

function onResolveSuccess(fileEntry) {
    alert('success');
    console.log(fileEntry.name);
}

function fail(evt) {
    console.log(evt.target.error.code);
}

我还添加了插件作为cordova插件添加https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git

但它不起作用。我们需要此 LocalSystem 的任何插件吗?请帮助我。

4

1 回答 1

0

好的,这是将文件下载到 ios 文档目录的完整代码

document.addEventListener('deviceready',onDeviceReady, false);

function onDeviceReady()
{
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,onFileSystemSuccess, fail);
}

function fail() {
    console.log("failed to get filesystem");
}

function onFileSystemSuccess(fileSystem) {
    var fileTransfer = new FileTransfer();
    var uri = encodeURI("http://www.w3.org/2011/web-apps-ws/papers/Nitobi.pdf");

    fileTransfer.download(
          uri,
          fileSystem.root.fullPath+"/MyPdf.pdf",
          function(entry) {
            console.log("download complete: " + entry.fullPath);
          },
          function(error) {
                console.log("download error source " + error.source);
                console.log("download error target " + error.target);
                console.log("upload error code" + error.code);
          }
      );
}

这会将 Nitobi.pdf 文件作为 MyPdf.pdf 下载到文档目录

参考

*******编辑*********

对于 phonegap 版本 3.4,fileSystem.root.fullPath+"/MyPdf.pdf",需要替换为 cdvfile://localhost/persistent/MyPdf.pdf

Phonegap 3.4 文件传输错误 (iOS)提供

于 2014-05-15T10:39:13.133 回答