前端实现文件流下载
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) })