/src/utils/request.js
export function download(url, params, filename) {
return service
.post(url, params, {
responseType: "blob"
})
.then(data => {
const content = data;
const blob = new Blob([content]);
if ("download" in document.createElement("a")) {
const 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);
document.body.removeChild(elink);
} else {
navigator.msSaveBlob(blob, filename);
}
})
.catch(r => {
console.error(r);
});
}
上面的方法写在 /src/utils/request.js;
然后到 main.js 引用全局调用
main.js
import { download } from "@/utils/request";
Vue.prototype.download = download;