在最新版chrome和firefox中能正常使⽤,在Safari中报错:没有这个函数
规避⽅法:
不使⽤toBlob,使⽤toDataURL()将file转成base64编码,然后转成blob,如果需要,可以再转成file
以下为在vue中的写法:
var file = this.blobToFile(this.dataURItoBlob(this.form.headPicSrc), 'file')
this.formData.append('avatar', file)
dataURItoBlob (dataURI) {
let arr = dataURI.split(',')
let mime = arr[0].match(/:(.*?);/)[1]
let bstr = atob(arr[1])
let n = bstr.length
let u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new Blob([u8arr], {type: mime})
},
blobToFile (theBlob, fileName) {
svg和canvas的区别
theBlob.lastModifiedDate = new Date()
theBlob.name = fileName
return theBlob
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。