在安卓部分浏览器上长按查看base64图片一片空白,点击保存图片也提示保存失败,加入以下代码即可解决。
1.页面上创建一个canvas容器,设置其隐藏
<canvas v-show="false" ref="picture"></canvas>
2.使用canvas重新绘制并赋值
this.imgUrl = "data:image/jpeg;base64," + res.content.base64_image;//这个路径只能苹果保存
let img = new Image();
img.src = this.imgUrl;
this.$nextTick(() => {
let canvas = this.$refs.picture; //获取到canvas的DOM
let ctx = canvas.getContext('2d'); //使用2d绘图
img.onload = () => {
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img, 0, 0, img.width, img.height); //完整的将this.imgUrl给裁剪下来
let canvasURL = canvas.toDataURL('image/jpeg');
this.imgUrl = canvasURL;
}
})