需要将image转为file:
data(){
return {
file: ''
}
},
created(){
this.getImgToBase64(本地图片地址)
},
methods: {
//将base64转换为文件
dataURLtoFile (dataurl, filename) {
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);
}
this.file = new File([u8arr], filename, { type: mime });
},
//将图片转换为Base64
getImgToBase64 (url) {
var canvas = document.createElement('canvas'),
ctx = canvas.getContext('2d'),
img = new Image;
img.crossOrigin = '';
img.onload = () => {
canvas.height = img.height;
canvas.width = img.width;
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL('image/png');
this.dataURLtoFile(dataURL);
canvas = null;
};
img.src = url;
},
}