post方式下载文件

<el-button type="primary" size="mini" @click="batchDownload">下载</el-button>
  batchDownload() {
      let params = {
        zipName: 'xx',
        numbers: this.numTextarea,
      }
      axios({
        // 用axios发送post请求
        method: 'post',
        url: api.urlPort04 + '/x/xxx', // 请求地址
        data: params, // 参数
        responseType: 'blob', // 表明返回服务器返回的数据类型
      }).then((res) => {
        this.downloadFile(res.data, '下载文件名') //正常下载文件名师合同名称
      })
    },

 

downloadFile(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) // 释放内存
    },

 

posted @ 2022-11-16 14:40  博仔show  阅读(1612)  评论(0编辑  收藏  举报