---------post请求下载word文件-------- 1.请求接口中需要规定返回类型为“blob”,
export function download(data) {
? return request({
? ? url: 'api/smartReport/download/docx',
? ? method: 'post',
? ? responseType: 'blob',
? ? data,
? ? headers: {
? ? ? 'content-type': 'application/json'
? ? }
? })
}
2.接收到接口返回的流后需要手动创建<a /> 标签,并进行下载操作。
? 同时可以规定对下载的文件名的命名和文件类型设置
const link = document.createElement('a');
? ? ? ? ? let blob = new Blob([返回的blob类型流],{type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'}) ;
? ? ? ? ? link.style.display = 'none';
? ? ? ? ? link.href = URL.createObjectURL(blob) ? //创建下载连接
? ? ? ? ? link.setAttribute('download','智能报告表')//给下载后的文件命名
? ? ? ? ? document.body.appendChild(link);
? ? ? ? ? link.click();//点击下载
? ? ? ? ? document.body.removeChild(link);
? ? ? ? ? window.URL.revokeObjectURL(link.href);//释放blob对象
3.附带文件类型对应图
?
|