我目前正在开发 Ionic 应用程序并停留在文件下载部分。我看到很多帖子都是FileTransfer
现已弃用cordova 库以支持XHR 请求。
尽管我看到很多帖子说该库已被弃用,但我找不到任何示例代码(用于从 URL 下载文件)。
任何人都可以建议我从 url 下载文件的好方法而不使用 FileTransfer
插入?
最佳答案
从其他服务器下载文件可能会导致烦人 CORS 错误主要是我们无法控制的。最安全的方法是绕过 Webview 并本地下载文件。您可以使用 原生 HTTP 插入
在 Ionic 4 或更高版本中使用将如下所示:
import { Component } from '@angular/core';
import { HTTP } from '@ionic-native/http/ngx';
import { File } from '@ionic-native/file/ngx';
@Component({
selector: 'app-home',
templateUrl: './you-file.html',
styleUrls: ['./your-file.scss'],
})
export class HomePage {
constructor(private nativeHTTP: HTTP, private file: File) {}
private downloadFileAndStore() {
//
const filePath = this.file.dataDirectory + fileName;
// for iOS use this.file.documentsDirectory
this.nativeHTTP.downloadFile('your-url', {}, {}, filePath).then(response => {
// prints 200
console.log('success block...', response);
}).catch(err => {
// prints 403
console.log('error block ... ', err.status);
// prints Permission denied
console.log('error block ... ', err.error);
})
}
}
}
关于typescript - 如何在不使用 FileTransfer 的情况下从 Ionic 5 中的 url 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61892608/