如何在iOS(Ionic 2/3)下载文件?

时间:2018-06-07 09:25:07

标签: ios file ionic-framework ionic3

我正在尝试下载文件并将该文件保存在iOS中。我使用ionic-native-file插件来实现这一目标。该文件已下载,但我在设备中找不到该文件。

filewrite = (): void => {
    let transfer = this.fileTransfer.create();
    let path = "";
    let dir_name = 'Download';
    let file_name = "Sample.pdf";

    if (this.platform.is('ios')) {
      this.platform.ready().then(() => {
          path = this.file.documentsDirectory;

          this.file.writeFile(path,file_name,this.pdfSrc).then((entry) => {
            this.showAlert("download completed");
          }, (error) => {
            this.showAlert("Download Failed.");
          }).catch(err=>{
            this.showAlert("Download Failed catch.");
            this.showAlert(err.message);

          });
        }
      )
    }
  };

下载已完成的提醒节目,下载的路径为:

  

文件:///var/mobile/Containers/Data/Application/6DE22F30-5806-4393-830A-14C8A1F320BE/Library/Cloud/Sample.pdf

但我在设备中找不到该位置。然后,我谷歌并看到here

  

cordova.file.documentsDirectory - 应用程序专用的文件,但是   对其他应用程序(例如Office文件)有意义。请注意   OSX这是用户的〜/ Documents目录。 (iOS,OSX)

所以,我实际上看不到该文件,因为它是应用程序的私有文件。然后我在同一个链接中看到了:

enter image description here

所以,我在config.xml中尝试了两个首选项,但没有发生任何事情。

是否有任何方法可以下载iOS或Dropbox或其他任何地方的文件?

1 个答案:

答案 0 :(得分:2)

我也很难找到使用此cordova插件保存到不同平台上的正确目录。我在Android上使用file.externalRootDirectory,在iOS上使用file.cacheDirectory

正确的位置可能取决于您打算对文件执行的操作。在我的情况下,我只是需要短期存储,所以我可以使用用户的原生PDF阅读器打开它。