【问题标题】:Unable to download file using ionic file transfer plugin in ionic 5+无法在离子 5+ 中使用离子文件传输插件下载文件
【发布时间】:2021-09-04 00:41:43
【问题描述】:

我在这里使用离子文件传输插件下载文件,当我尝试下载文件时,我得到以下错误

而且每次我构建一个文件时,我还需要在 android 中添加以下代码

public class FileProvider extends androidx.core.content.FileProvider

此下载还有其他选择吗?我检查了电容器站点,但我不确定如何在其中使用文件存储插件,下面是我使用文件传输的代码

 pdfUrl = 'https://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf';


  constructor(private transfer: FileTransfer, private file: File) {}

  download() {
    const fileTransfer: FileTransferObject = this.transfer.create();
    const url = this.pdfUrl;
  fileTransfer.download(url, this.file.dataDirectory).then((entry) => {
    console.log('download complete: ' + entry.toURL());
    this.saveData = entry.toURL();

  }, (error) => {
    // handle error
    console.log(error);
  });

【问题讨论】:

    标签: javascript angular ionic-framework ionic4 capacitor


    【解决方案1】:

    你可能需要创建一个whitelist - 通过 NPM 下载插件

    $ cordova plugin add cordova-plugin-whitelist
    

    并将以下内容添加到 config.xml

    <access origin="*" subdomains="true" />
    <allow-navigation href="http://*/*" />
    <allow-navigation href="https://*/*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    

    【讨论】:

      【解决方案2】:

      在 Android 上,cordova-plugin-file-transfer 需要 cordova-plugin-whitelist

      使用npm install cordova-plugin-whitelist 安装它,然后运行npx cap update

      另外,cordova-plugin-file-transfer 需要您要写入的文件的路径,您传递了一个目录,您应该将fileTransfer.download(url, this.file.dataDirectory) 更改为fileTransfer.download(url, this.file.dataDirectory + '/NatureDeepReview.pdf')

      【讨论】:

        【解决方案3】:

        尝试以下方法:

        首先添加插件:cordova-plugin-whitelist

        其次在config.xml中添加以下&lt;access origin="*" /&gt;

        用于回答问题的参考是:
        https://github.com/ionic-team/capacitor/issues/1199

        【讨论】:

          【解决方案4】:

          检查你的android清单文件中的权限,如果你的清单文件确定你添加了你的权限,那么你必须检查你的目标路线。

          在您的 android 清单文件中

          <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
          <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
          

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-01
          相关资源
          最近更新 更多