我需要在我的Ionic2
应用程序中实现一项功能,用户可以将特定的视频文件下载到Ionic2应用程序中。
在检查Ionic Native
部分后,我发现以下插件可用:
- 文件
- 文件选择器
- 文件打开器
- 文件路径
但是找不到诸如"cordova-plugin-file-transfer"之类的任何内容,其中存在特定方法作为下载。
出路是什么?
请指教。
您应该使用">传输"插件在ionic2中下载文件
您可以通过此命令安装插件
ionic plugin add cordova-plugin-file-transfer
npm install --save @ionic-native/transfer
然后导入它
import { Transfer, FileUploadOptions, TransferObject } from '@ionic-native/transfer';
设置构造函数
constructor(private transfer: Transfer, private file: File) { }
然后使用此功能通过url下载文件
download() {
const url = 'http://www.example.com/file.pdf';
fileTransfer.download(url, this.file.dataDirectory +
'file.pdf').then((entry) => {
console.log('download complete: ' + entry.toURL());
}, (error) => {
// handle error
});
}
希望对您有所帮助您也可以使用此插件上传文件
您可以使用传输本机插件。
此插件允许您上传和下载文件。
Git 存储库。
ionic plugin add cordova-plugin-file-transfer
npm install --save @ionic-native/transfer
首先。 每个人都在这里引用transfer
插件已被弃用。如果有替代方案,您永远不应该使用已弃用的插件。
很高兴,Ionic为您提供替代方案原生 Http 插件
HTTP 服务具有uploadFile
和downloadFile
方法,您可以使用它们来上传/下载文件。
downloadFile
方法有 4 个参数:url
、body
、headers
、filepath
。
在大多数简单的情况下,调用此方法将是这样的:
this.nativeHttp.downloadFile(urlWithFile, {}, {}, fileNameToSave)
它返回使用实例解析FileEntry
承诺,您将来可以使用该实例从文件系统读取(如果需要(
fileNameToSave
您可以从File
类中获得。 基本上,它可以是this.file.tempDirectory + fileName
的,或者您可以从file
中选择另一个目录,例如this.file.dataDirectory + fileName
同样,您永远不应该使用已弃用的插件/包。它们被称为已弃用是有原因的
附言如果你想打开下载的文件,你可以使用@ionic原生/文件打开器插件来做到这一点,如下所示:
this.file.resolveLocalFilesystemUrl(fileEntry.toURL())
.then((entry: FileEntry) => {
entry.file(meta => {
this.fileOpener.open(fileEntry.toURL(), meta.type)
}, error => {});
})
您可以简单地下载插件
ionic cordova plugin add cordova-plugin-file-transfer
它应该是这样的
-
添加导入
从"@ionic-native/transfer"导入 { Transfer, TransferObject };
-
构造 函数
构造函数(私人转让:转让({ }
-
创建文件传输实例
const fileTransfer: TransferObject = this.transfer.create((;
-
最终代码
fileTransfer.download("your URL", "you URLmime tyoe"(.then((entry( => {
}, (错误( => { 句柄错误 });
就这样。
谢谢