file文件对象转base64
file文件对象的格式:
fileToBase64(file){
let that =this,
reader = new FileReader();
reader.readAsDataURL(file);
return new Promise((resolve,reject)=>{
reader.onload = function (e) { //这里是一个异步,所以获取数据不好获取在实际项目中,就用new Promise解决
if(this.result){
resolve(this.result)
}else{
reject("err")
}
}
})
}
//----------------------------------------------------
调用
this.fileToBase64(imgFile).then(res=>{
console.log("这里的res就是base64文件",res)
})
!!!file文件对象的照片不可以直接在img标签中使用
base64转file文件对象
base64的文件格式就是一大串编码
!!!base64的文件格式是可以直接在img标签中使用的
base64TOfile(base64){
let that = this;
var arr = base64.split(',');
var mime = arr[0].match(/:(.*?);/)[1];
var bstr = atob(arr[1]); // 解码base-64编码的数据
var n = bstr.length;
var u8arr = new Uint8Array(n);// 无符号整型数组
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
//转换成file对象
let filename = new Date().getTime();
let filetest = new File([u8arr], filename, {type:mime})
return filetest
}
//-------------------------------------------------调用
this.base64TOfile(this.takeImgsbase64[index].file[1])