// 下载blob文件流(暂不支持手机H5唤起下载文件!!!) downloadFile(res: any, fileName: any = '未命名', format: any = '.xlsx') { const blob = new Blob([res]); fileName += format; // for IE if (window.navigator && window.navigator.msSaveOrOpenBlob) { window.navigator.msSaveOrOpenBlob(blob, fileName); } else { // for Non-IE (chrome, firefox etc.) const a= document.createElement('a');a.download = fileName, a.href = URL.createObjectURL(blob), a.click(); } }
如果用以上方法下载的文件打开是乱码,请对ajax请求设置红色部分
$.ajax({ url: 'url', xhrFields: { responseType: "arraybuffer" }, }).done((result) => { // result 为arrayBuffer类型 })
如果用的不是ajax,而是axios,那么请设置:
axiosData.responseType = 'blob'; //这句话解决导出文件乱码问题
知识拓展,何为 responseType ?
戳下方链接