简介
记录一下前段时间学习的关于使用axios向后端发送请求,获取要下载的文件。返回内容就如下所示,是一堆编码乱码的样子。
具体实现
方式一:修改请求头,规定返回blob格式
let that = this
let params = {
examId: that.examId,
};
that.$_http
.get(
that.$_API.INTERFACE_GET_USER_EXAM_FILE_BY_ADMIN, { params },
{
headers: { 'Content-Type': 'application/x-download' },
responseType: 'blob',
}
)
.then((res) => {
if (res.data) {
const link = document.createElement('a'); // 创建一个a标签的DOM
link.style.display = 'none'; // 隐藏它
link.href = URL.createObjectURL(res.data); // 把请求回来的编码,转换为一个链接地址
let fileName = `试卷_${that.examDetailData.name}.xls`; // 重命名,注意文件格式,此处是xls
link.setAttribute('do