前端实现文件流下载

1. 与后端约定,接口是get还是post,参数是json格式,还是query string格式,请求头是否要添加什么数据,等等。

/**
 * @description 下载模板
 * @param {Object} params
 */
export const export = params => request({ url: 'exportTemplate.do', method: 'get', params }, {
  responseType: 'blob',
  headers: {
    type: 'K'
  }
})
export({ })
        .then((res) => {
          console.log('res', res)
          const blob = res
          const reader = new FileReader()
          reader.readAsDataURL(blob)
          reader.onload = (e) => {
            const a = document.createElement('a')
            a.download = '信息模板.xlsx'
            // 后端设置的文件名称在res.headers的 "content-disposition": "form-data; name="attachment"; filename="20181211191944.zip"",
            a.href = e.target.result
            document.body.appendChild(a)
            a.click()
            document.body.removeChild(a)
          }
        }).catch((err) => {
          console.log(err.message)
        })
原文地址:https://www.cnblogs.com/shine-lovely/p/14229911.html