a链接下载文件或者点击按钮自动下载

文件下载方法

    downloadFile(fileName:string,filePath:string){
        this.service.downloadFile(filePath).subscribe(file=>{
            const blobUrl = URL.createObjectURL(file); // 创建下载链接
            const a = document.createElement('a');
            a.href = blobUrl;
            a.target = '_parent';
            a.download = fileName ;
            (document.body || document.documentElement).appendChild(a);
            a.click();
            a.remove();
        })
    }

文件下载接口

  downloadFile(filePath) {
    const htppOptionsPipe = this.fileHeaders
      .append('session', this.getUserSession())
      .append('traceid', 'PC' + new Date().getTime());
    return this.http.get(
      dataUrl + `/api/civilcrm/user/downloadfile?fileName=${filePath}`,
      { headers: htppOptionsPipe, responseType: 'blob' }
    );
  }

如果下载的文件后缀浏览器不识别,可以采用以下的方法处理,仅供参考

  // 下载文件
  downloadFile(fileName:string,filePath:string){
    this.service.downloadFile(filePath).subscribe(file=>{
      const blob = new Blob([file],{type: 'application/octet-stream'})
      const blobUrl = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = blobUrl;
      a.target = '_parent';
      a.download = `${fileName}.lrmx` ; // 在这里补充了文件的后缀名
      (document.body || document.documentElement).appendChild(a);
      a.click();
      a.remove();
      URL.revokeObjectURL(blobUrl) // 释放blob对象
    })
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值