我需要在我的Ionic2
应用中实现一项功能,用户可以将特定的视频文件下载到Ionic2应用中。
检查Ionic Native
部分后,我发现以下插件可用:
但无法找到“cordova-plugin-file-transfer”之类的内容,其中存在特定方法 DOWNLOAD 。
可能有什么出路?
请建议。
答案 0 :(得分:5)
您应该使用" 转移"用于在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
});
}
希望它对你有所帮助 您也可以使用此插件上传文件
答案 1 :(得分:3)
答案 2 :(得分:1)
首先。每个人都在这里使用的transfer
插件已被弃用。如果有其他选择,则永远不要使用不推荐使用的插件。
很高兴Ionic为您提供其他选择 Native Http plugin
HTTP服务具有uploadFile
和downloadFile
方法,可用于处理文件的上传/下载。
downloadFile
方法具有4个参数:url
,body
,headers
,filepath
。
在最简单的情况下,此方法的调用将如下所示:
this.nativeHttp.downloadFile(urlWithFile, {}, {}, fileNameToSave)
它返回用FileEntry
实例解析的promise,以后您可以使用它从文件系统中读取(如果需要)
fileNameToSave
可以从File
类中获得。基本上,它可以是this.file.tempDirectory + fileName
,也可以从file
中选择另一个目录,例如this.file.dataDirectory + fileName
同样,您永远都不要使用不推荐使用的插件/软件包。他们之所以被称为弃用
P.S。如果您想打开下载的文件,可以使用@ionic-native/file-opener插件来完成,如下所示:
this.file.resolveLocalFilesystemUrl(fileEntry.toURL())
.then((entry: FileEntry) => {
entry.file(meta => {
this.fileOpener.open(fileEntry.toURL(), meta.type)
}, error => {});
})
答案 3 :(得分:0)
应该像下面的
添加导入
从'@ ionic-native / transfer'导入{Transfer,TransferObject};
构造函数
构造者(私人转让:转让){ }
创建fileTransfer的实例
const fileTransfer:TransferObject = this.transfer.create();
最终代码
fileTransfer.download(“您的URL”,“您的URLmime tyoe”)。then((entry)=> {
},(错误)=> { //处理错误 });
仅此而已。
谢谢
答案 4 :(得分:-1)
您只需使用
下载插件即可 ionic cordova plugin add cordova-plugin-file-transfer