|
@@ -79,11 +79,19 @@
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ dataURLtoBlob(dataurl) {
|
|
|
+ var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
|
|
|
+ bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
|
|
|
+ while (n--) {
|
|
|
+ u8arr[n] = bstr.charCodeAt(n);
|
|
|
+ }
|
|
|
+ return new Blob([u8arr], { type: mime });
|
|
|
+ },
|
|
|
downloadIamge(imgsrc, name) { //下载图片地址和图片名
|
|
|
let image = new Image();
|
|
|
// 解决跨域 Canvas 污染问题
|
|
|
image.setAttribute("crossOrigin", "anonymous");
|
|
|
- image.onload = function () {
|
|
|
+ image.onload = ()=> {
|
|
|
let canvas = document.createElement("canvas");
|
|
|
canvas.width = image.width;
|
|
|
canvas.height = image.height;
|
|
@@ -91,9 +99,10 @@
|
|
|
context.drawImage(image, 0, 0, image.width, image.height);
|
|
|
let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据
|
|
|
let a = document.createElement("a"); // 生成一个a元素
|
|
|
- let event = new MouseEvent("click"); // 创建一个单击事件
|
|
|
a.download = name || "photo"; // 设置图片名称
|
|
|
- a.href = url; // 将生成的URL设置为a.href属性
|
|
|
+ console.log(URL.createObjectURL(this.dataURLtoBlob(url)) )
|
|
|
+ a.href = URL.createObjectURL(this.dataURLtoBlob(url)) // 将生成的URL设置为a.href属性
|
|
|
+ let event = new MouseEvent("click"); // 创建一个单击事件
|
|
|
a.dispatchEvent(event); // 触发a的单击事件
|
|
|
};
|
|
|
image.src = imgsrc;
|
|
@@ -105,7 +114,7 @@
|
|
|
|
|
|
if (res.data.code == 0) {
|
|
|
var name = res.data.msg.split('/')[res.data.msg.split('/').length - 1]
|
|
|
- var file = this.downloadUrl + res.data.msg
|
|
|
+ var file = this.downloadUrl + res.data.msg+'?t='+new Date().getTime()
|
|
|
// console.log(name)
|
|
|
this.downloadIamge(file, name)
|
|
|
// window.location.href = this.downloadUrl + res.data.msg
|