axios({ method: 'post', data: param, responseType:'blob', url: _urls + '/Downloaddata' }).then(data=>{ var blob = new Blob ...
首先我们需要单独封装或者自己在新建axios的时候,需要加上:responseType: blob , 例如: 当前这样做还是远远不够滴,blob的默认编码方式是utf ,所以就算我们下载下来文档,中文还是乱码的,我们需要将其转换为gbk格式,如何转换呢 在接口请求的出参的最前面加上 ufeff,下面是全部代码仅供参考,亲测有效哦 startDownload let param Object.a ...
2020-08-12 17:40 0 1496 推荐指数:
axios({ method: 'post', data: param, responseType:'blob', url: _urls + '/Downloaddata' }).then(data=>{ var blob = new Blob ...
...
现象: 1。postman请求下载文件正常 2。js代码在别的项目中下载正常 3。js代码在本项目中下载的excel打开提示文件损坏。 原因: 项目中前期引入了 mockjs 进行模拟数据请求。导致请求结果被mock拦截,修改了返回数据类型。 下面 ...
我们平常下载文件一般都是通过get请求直接访问进行下载, 但是当有特殊情况如权限控制之类的会要求我们通过post请求进行下载,这时就不一样了, 具体方法是通过协调后端,约定返回的文件流,请求的responseType一般为arraybuffer或者buffer ...
axios拦截处理 接口设置 请求处理 这里用到了Blob对象,这里是从服务器接收到的文件流(content-type:application/octet-stream)创建blob对象并使用该blob 创建一个指向类型数组的URL,将该url ...
注意请求时要设置responseType,不加会中文乱码,被这个坑困扰了大半天。。。 axios post请求: 后台接口: ...
一、get请求下载: 二、post请求下载 用哪种方式下载: 1)下载文件比较大建议使用get。如果用post,点了会半天没反应,得加loading之类的而且体验也不好,用get在用window.open打开新窗口下载,下载完后会自动关闭窗口体验比较好 ...