通过 reader.readAsDataURL 方法实现
function file2base64(fileObj){
let fileAddress = fileObj; //获取文件, fileObj 为文件对象
let file = new FileReader();
file.readAsDataURL(fileAddress); // 获取文件url,过程中触发下方 onload 方法
file.onload = function(){
console.log(file.result); //file.result就是转换后的 base64 格式
}
}
先将 base64 转换成 blob ,再将 blob 转换成 file 文件
function base64toFile(base64Str,fileName) {
//1,先将base64转换为blob
var arr = base64Str.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
let theBlob = new Blob([u8arr], { type: mime });
//2,再将blob转换为file
theBlob.lastModifiedDate = new Date(); // 文件最后的修改日期
theBlob.name = fileName; // 文件名
return new File([theBlob], fileName, {type: theBlob.type, lastModified: Date.now()});
},
觉得有帮助的朋友可以支持下作者哦,您的鼓励是我创作的最大动力,如有开发问题可联系作者