网页端从服务器端接收流文件(乱码)的解决方案

业务逻辑就是他给我一个excel表,我生成一个按钮把这个表下载下来。

记录一下,后端传乱码数据我的处理方案,只知其然不知其所以然。(叹气)

获得的乱码如下:

image-20200828221934345.png

首先处理axios的网络请求,修改responseType和headers,具体操作根据你自己的网络封装来写

if(contentType === 'file'){
      content.responseType = 'blob'
      content.headers['Content-Type'] ='application/x-www-form-urlencoded'
}

然后进行网络请求获得数据,并对数据进行操作

let res = await reqDownLoadApply()  //获得数据
console.log(res)

 if(res.data){
      let data = res.data
      let url = window.URL.createObjectURL(new Blob([data]));
      let link = document.createElement('a');
      link.style.display = 'none';
      link.href = url;
      link.setAttribute('download', '表名.xls');
      document.body.appendChild(link);
      link.click()

  }else{
      message.error('没有数据')
    
  }

为什么这样操作还是不明白,有知道的大佬请教教我谢谢。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。