// 将base64转换成file对象
dataURLtoFile (dataurl, filename = 'file') {
let arr = dataurl.split(',')
let mime = arr[0].match(/:(.*?);/)[1]
let suffix = mime.split('/')[1]
let bstr = atob(arr[1])
let n = bstr.length
let u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {type: mime})
}
// file格式 压缩图片 压缩后是blob格式 file-=>要压缩的file 10 要压缩的大小 单位KB
//import imageConversion from 'image-conversion'
files = await imageConversion.compressAccurately(files, 1.98 * 1024)
files = new window.File([files], “file.name”, { type: files.type }) //blob转file
//将base64转换为file
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);
}
return new File([u8arr], filename, { type: mime });
},
// file 转换base64
let rd = new FileReader();//创建文件读取对象
rd.readAsDataURL(files);//文件读取装换为base64类型
rd.onloadend = function (e) {
//加载完毕之后获取结果赋值给img
_this[type].file = files
_this[type].img = this.result
_this.$toast.clear();
}