将文件从服务器下载到Ionic2应用程序



我需要在我的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 服务具有uploadFiledownloadFile方法,您可以使用它们来上传/下载文件。

downloadFile方法有 4 个参数:urlbodyheadersfilepath

在大多数简单的情况下,调用此方法将是这样的:

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

它应该是这样的

  1. 添加导入

    从"@ionic-native/transfer"导入 { Transfer, TransferObject };

  2. 构造 函数

    构造函数(私人转让:转让({ }

  3. 创建文件传输实例

    const fileTransfer: TransferObject = this.transfer.create((;

  4. 最终代码

    fileTransfer.download("your URL", "you URLmime tyoe"(.then((entry( => {

    }, (错误( => { 句柄错误 });

就这样。

谢谢

相关内容

  • 没有找到相关文章