思路:
第一步:页面上需要一个不带src 的 img标签
<img id="img" crossOrigin="anonymous" v-show="false" />
v-show(display:none) 是为了让其加载 但是不显示出来,触发后续的 img.onload事件
第二步:设置img标签,在img.onload事件中获取 file对象
export function urltoFile(imgUrl, imageName) {
var image = new Image()
image.setAttribute('crossOrigin', 'Anonymous')
image.src = imgUrl
image.onload = function() {
var base64 = getBase64Image(image)
document.getElementById('img').src = base64
//转换base64到file
var file = btof(base64, imageName)
console.log('xxxx', file)
return file
}
}
第三步:
图片的链接地址转化为File对象,需要先转化为canvas,再转化为base64图片
export function getBase64Image(img) {