vue 文件流下载为.zip格式

该代码段展示了如何在JavaScript中通过RESTfulAPI获取数据,将响应转换为Blob对象,创建URL并触发文件下载。方法fileHandle用于处理文件下载,而DownloadFile函数则结合用户ID和名称来调用服务并下载ZIP文件。
摘要由CSDN通过智能技术生成
  fileHandle(data, fileName) {
      let blob = new Blob([data], { type: 'application/zip' }//此处必须添加)
      let url = window.URL.createObjectURL(blob)
      const link = document.createElement('a') // 创建a标签
      link.href = url
      link.download = fileName // 重命名文件
      link.click()
      URL.revokeObjectURL(url) // 释放内存
    },
    DownloadFile(row) {
      let paymentId = row.cfbizPaymentEnrollment.ID
      let customerName = row.cfbizPaymentEnrollment.CUSTOMER_NAME
      doRestFileGet('service/payment/getAttachment?paymentId=' + paymentId + "&customerName=" + customerName,).then(result => {
        this.fileHandle(result.data, `${customerName}.zip`)
      })
    },


// 请求
export function doRestFileGet(url,params)
{
    /* 自动添加sessionId */
    let sessionId = getToken();
    return service({
        url: url,
        method: 'get',
		responseType: 'blob', // 表明返回服务器返回的数据类型
        headers: {
            sessionId:sessionId,
            'Content-Type': 'application/json; charset=UTF-8'
        },
        params:params
    }).catch(function (error) {
        console.log(error);
    });
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值