vue实现word或pdf文档导出的功能,我的项目是:后端返回一个文档流(下图),然后前端对文档流做处理进行下载,代码如下:
import axios from 'axios';
axios.get(`url`, { //url: 接口地址
responseType: `arraybuffer` //一定要写
})
.then(res => {
if (res.status == 200) {
let blob = new Blob([res.data], {
type: `application/msword` //word文档为msword,pdf文档为pdf,msexcel 为excel
});
let objectUrl = URL.createObjectURL(blob);
let link = document.createElement("a");
let fname = `我的文档.doc`; //下载文件的名字+后缀名
link.href = objectUrl;
link.setAttribute("download", fname);
document.body.appendChild(link);
link.click();
} else {
this.$message({
type: "error",
message: "导出失败"
})
}
});
网友评论