直接上代码:
downPic({ res_id: _this.rowDataForImg.res_id }).then(resp => { // 请求的接口
if (resp.status == 200) {
let url = window.URL.createObjectURL(new Blob([resp.body])); // 将文件流转成url,这里转换出来的url是不带图片后缀的,所以在设置文件名的时候,需要带上后缀,不然下载的文件,将不是图片格式,有可能是txt格式的文件流,或者是jfif格式的图片
let link = document.createElement("a"); // 创建一个a标签
link.style.display = "none";
link.href = url;
link.setAttribute("download", '网络拓扑图.jpg'); // 一定要设置download,不然点击以后只是在新页面打开图片而不是下载,图片名的后缀要是自己要的格式
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
} else {
this.$Message.error(resp.body.resultMsg);
}
});