通常如果后台返还给你链接形式,你可以直接调取下载文件,但有些情况特殊,比如客户需求,要求返回的excel文档格式特殊,那么后台会返还二进制流。二进制流有时无法下拉取出进一步转换。
所以,以下为解决方法。
js层
derive=()=>{
const {
gain} = this.state;
this.props.dispatch({
type:'Statemanagement/',
payload:{
gain
}
}).then((res)=>{
console.log(res,"res")
if(res){
const blobUrl = window.URL.createObjectURL(res);// 生成链接
console.log(blobUrl);
const tempLink = document.createElement('a');// 创建a标签去下载
tempLink.href = blobUrl;
tempLink.download = `资源${
new Date().getTime()}.xlsx`;
tempLink.setAttribute