客户端实现下载二维码图片(服务器端如何生成小程序二维码请看另外一篇
链接地址:https://blog.csdn.net/qq_33238562/article/details/92972684
)
<el-button
v-if="isgly"
type="text"
@click="createimg(scope.row.id,scope.row.shopname)">下载
</el-button>
//下载图片
createimg(id, shopname) {
// console.log('yyy');
console.log(shopname);
this.shopname = shopname;
this.$http({
url: this.$http.adornUrl("/generator/opencode/get"),
method: "post",
data: {
scene: id
},
responseType: "arraybuffer" //此处必须设置,不然会报已损坏
})
.then(function(res) {
// 将后台的图片二进制流转为为base64
return (
"data:image/png;base64," +
btoa(
new Uint8Array(res.data).reduce(
(data, byte) => data + String.fromCharCode(byte),
""
)
)
);
})
.then(data => {
var alink = document.createElement("a");
alink.href = data;
alink.download = shopname; //图片名
alink.click();
// console.log(data)
// this.imgdwn = data; // data即为图片地址
});
},