VUE3 Typescript 文件-Base64互转
Base64转图片文件
传入urlData是Base64,fileName为转换文件的文件名
function base64ToFile(urlData: any, fileName: string) {
let arr = urlData.split(',');
let mime = arr[0].match(/:(.*?);/)[1];
let bytes = atob(arr[1]); // 解码base64
let n = bytes.length;
let ia = new Uint8Array(n);
while (n--) {
ia[n] = bytes.charCodeAt(n);
}
return new File([ia], fileName, { type: mime });
}
文件转Base64
function FileToBase64(file: any) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
let fileResult = '' as string;
reader.readAsDataURL(file);
reader.onload = () => {
fileResult = String(reader.result);
};
reader.onerror = (error: any) => {
reject(error);
};
reader.onloadend = () => {
resolve(fileResult);
};
});
}
以下是调用例子
FileToBase64(param.file).then((res: any) => {
//赋值给audio
formDialog.formProp.formData.audio = res;
});