Vue<简单的文件下载方法>
2019-12-05 本文已影响0人
誰在花里胡哨
此篇文章是本人在项目中所用到过的 文件下载 方法,有适合此种方法的可以直接使用
代码如下:
//立即下载
downloadNow() {
let _this = this;
//请求参数
let params = {};
//请求路径
this.$axios.post("xxxxxxxx", params, { responseType: "blob" })
.then(res => {
console.log(res);
let content = res.data;
let blob = new Blob([content]);
let fileName = "文件名.pdf";
if ("download" in document.createElement("a")) {
// 非IE下载
let elink = document.createElement("a");
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
} else {
// IE10+下载
navigator.msSaveBlob(blob, fileName);
}
this.$message.success("生成文件成功");
})
.catch(err => {
console.log(err);
this.$message.error("服务器出现问题,请稍后再试");
});
}