微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

文件传输已被弃用,现在无法下载文件

如何解决文件传输已被弃用,现在无法下载文件

我写了一个Ionic 4应用程序。我想更新它,似乎文件传输现在已弃用,因此我将其删除。问题是,现在我无法下载文件。文档说它可以用XMLHttpRequest代替,就像下面的链接一样,我遵循此链接创建了一个新的“ downloadFiles”功能https://cordova.apache.org/blog/2017/10/18/from-filetransfer-to-xhr2.html

但是这种解决方案使我在CORS问题上感到挣扎。我无法在服务器上设置正确的CORS标头(允许来源和内容),因为我无法对其进行编辑。

使用Ionic立即下载文件的正确方法是什么?

多谢

解决方法

最后找到了带有cordova-plugin-advanced-http插件的解决方案

首次安装插件

ionic cordova plugin add cordova-plugin-advanced-http
npm install @ionic-native/http

然后使用它获取blob,绕过cors问题

 import { HTTP,HTTPResponse } from '@ionic-native/http/ngx';

 constructor(
   private adHTTP: HTTP
 )
 ...
  const reqOptions: any = {
    method: 'get',responseType: 'blob'
  };
  let res: HTTPResponse = await this.adHTTP.sendRequest(source,reqOptions);
  let blob: Blob = res.data;
  await this.file.writeFile(path,filename,blob,{ replace: true });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。