vue+axios+bolb下载文件,获取文件流乱码解决方法,
1.首先封装了下载文件get请求方式,其中用element-ui 的提示信息Message,文件引入import axios from "axios";import {Message} from 'element-ui';// 封装下载请求 返回文件流export function dowLoadHTTP(url, params = {}) {return new Promis
1.首先封装了下载文件get请求方式,其中用element-ui 的提示信息Message,文件引入
import axios from "axios";
import {Message} from 'element-ui';
// 封装下载请求 返回文件流
export function dowLoadHTTP(url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url,params)
.then((response) => {
if (response) { // 判断请求
resolve(response);
} else {
Message.error('数据请求失败');
}
})
.catch((err) => {
reject(err);
Message.error('数据请求失败' + error);
});
});
}
2. 获取文件并下载文件
import {dowLoadHTTP} form 'url'// 此url写第一步封装请求文件地址
dowLoadHTTPt('http://www.baidu.com',{
responseType: 'blob', // 表明返回服务器返回的数据类型, 没有会乱码
params: {}// 里面是请求参数
})
.then(data => {
let blob = new Blob([data], {
type: "application/vnd.ms-excel"
});
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = "修改文件名称.xls";
link.click()
})
更多推荐
所有评论(0)