无法在离子 5+ 中使用离子文件传输插件下载文件
Posted
技术标签:
【中文标题】无法在离子 5+ 中使用离子文件传输插件下载文件【英文标题】:Unable to download file using ionic file transfer plugin in ionic 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);
);
【问题讨论】:
【参考方案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中添加以下<access origin="*" />
用于回答问题的参考是: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" />
【讨论】:
这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review以上是关于无法在离子 5+ 中使用离子文件传输插件下载文件的主要内容,如果未能解决你的问题,请参考以下文章