ionic 导出文件流

在 Ionic 应用中,面对后端返回的文件流,传统方法如FileTransfer.download并不适用。本文介绍如何通过创建新文件并把文件流写入,实现从文件流导出文件。重点介绍了Cordova File API提供的不同目录类型,如applicationDirectory、dataDirectory等,用于在不同平台上的文件操作。
摘要由CSDN通过智能技术生成

搜索了许多方法,都是用FileTransfer.create().download()

但是我是从后端接口获取的文件流,虽然是导出的功能,但我们要转变思想

因为download方法必须是要文件路径才可以,所以我们既然有了文件流,就直接在手机上生成一个新文件,将流写入到新文件中

import { File } from '@ionic-native/file/ngx';

import { FileOpener } from '@ionic-native/file-opener/ngx';
export class ExportPage implements OnInit {
    constructor(private file: File,private fileOpener: FileOpener) { }

    /**
     * 导出
     */
      onExport(): void {
       this.netService.export().subscribe((ret) => {
           this.blobWriteFile(ret)
        });
      }
    /**
     * 流写入
     */
    blobWriteFile(blob): void{
     this.file.writeFile(this.file.dataDirectory, '文件名.xls', blob).then((e) => {
        this.openFile(this.file.dataDirectory + '文件名.xls');
      });
    }
    
  /**
   * 打开文件
   * @param path
   */
  openFile(path: string): void {
    this.fileOpener
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值