title: 文件流生成下載地址-(下載Excel)
tags: JavaScript
categories: 項(xiàng)目筆記
文件流在前端生成地址医寿,用于下載Excel(項(xiàng)目由vue+axios)
<The rest of contents | 余下全文>
對于后臺返回API的config的配置
這里主要的是
responseType: 'blob'
,其他不必過多糾結(jié),而blob可以在MDN中查閱到
export const generateExcelWym = params => {
return axios.post('/v1/api/fac-mission-prcd-nodes/generateExcel', params, {
responseType: 'blob'
});
};
文件流生成地址
downLoad() {
let params = {
missionNodeId:this.instanceWorkflow.components.status.id,
lathes:[this.bedNum],
}
generateExcelWym(params).then( res => {
console.log(res);
//當(dāng)前這里的res.data則為后臺返回的文件流
this.fileData =res.data;
//在這里利用則可以直接的生成作為下載用的url须眷,但是在其他代碼環(huán)境下沟突,可能需要new一個(gè)Blob對象,例如
//var blob = new Blob([JSON.stringify(res.data)], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});
let url = window.URL.createObjectURL(res.data);
console.log(url);
let a = window.document.createElement('a');
a.setAttribute('href',url);
a.setAttribute('download','生成唯一碼文件.xls');
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
})
},