您的位置:首页 > Web前端 > Vue.js

VUE + axios上传下载文件踩坑之路

2019-03-14 18:11 211 查看

第一篇博客,希望各位大佬们多多捧场。切入正题。

1. 目前做项目要实现一个上传下载execl文件的功能,算是踩坑成功吧。

2.我才用的的vue+axios框架,因为axios封装的时候默认的responseType = 'json',所以只能接受一些JSON格式的数据处理,但是后台文件返回的是二进制流,那么我们就首先需要将响应类型重新设置了。这里我选用了‘arraybuffer’这个类型,只要在axios的设置修改下就好了

3.请求成功后你需要处理,下载文件,可以看到要解析响应返回来的姓名,并且要生成一个下载链接。

4.棘手的bug来了,我不可能只存在文件下载成功的事情吧,肯定下载失败这种情况啊,but,你已经把响应对象设置为二进制流了。得到的响应肯定就是arrayBuffer对象了,所以这个时候你就需要将这个对象转换为正常的json对象来处理了,如下:

5.下面你就可以处理不同的结果了,是不是很意外,哈哈哈哈。

6.下载文件也是同样的原理。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: