react处理response
关键点就是responseType 需要设置为blob让响应返回为blob类型,然后把response放到blob中,然后创建一个blob的url地址,再创建一个a标签,,注意必须设置btn.download,此为文件名称,不设置的话会跳转到一个页面,文件内容也会输出到这个页面然后设置btn.href为刚才创建的blob地址,最后再点击a标签就可完成react的下载。
return request(url, {
method: 'GET',
responseType: 'blob',
}).then(res => {
const blob = new Blob([res]);
const objectURL = URL.createObjectURL(blob);
let btn = document.createElement('a');
btn.download = fileName;
btn.href = objectURL;
btn.click();
URL.revokeObjectURL(objectURL);
btn = null;
});