如何在Ionic 5中不使用FileTransfer从url下载文件?

问题描述 投票:0回答:1

我现在正在开发Ionic应用,卡在文件下载部分。我看到很多帖子说 FileTransfer cordova库已经被废弃,改为XHR请求。

尽管我看到很多帖子说这个库已经废弃了,但我找不到任何示例代码(从URL下载文件)。

有谁能给我建议一个好的方法来下载文件从url,而不使用。FileTransfer 插件?

typescript file ionic-framework ionic-native
1个回答
1
投票

你可以实现在以下步骤。

步骤1: 从URL下载的下载功能

downloadFile(path: string, body: Object = {}): Observable<any> {
  let headers = {} // add authentication headers and other headers as per your requirement
  return this.http.post/get( 
    `${path}`, body, { headers: headers, withCredentials: true }
  )
  .catch((err) =>console.log(err))
  .map((res:Response) => res)
  .finally( () => { });
}


第二步: 使用下载功能将其转换为合适的Blob。

this.downloadFile(`url`, postData).subscribe(
 res => {
   let options = { type: ‘filetype’ };
   let filename = ‘filename.type’;
   Util.createAndDownloadBlobFile(res._body, options, filename);
 },
 err => {
   // show the error
 }
);


第三步:使用下载功能将其转换为适当的Blob。: 使用以下插件将Blob数据保存在设备上。https:/github.comapachecordova-plugin-file。

© www.soinside.com 2019 - 2024. All rights reserved.