Skip to main content

文件处理

https://blog.csdn.net/qq_42031498/article/details/122001172

Base64字符串 转 File对象

/**
* @Description - btoa和atob是window对象的两个函数,其中btoa是binary to ascii,用于将binary的数据用ascii码表示,即Base64的编码过程,而atob则是ascii to binary,用于将ascii码解析成binary数据
*
* @param {base64Image} base64Image - base64图片格式的字符串 异步以 data:image/jpeg;base64 xxxx 开头
*
* @returns {} - {description}
*
*/
function dataURLtoFile(base64Image) {

let [h, mimeType, type, base64str] = base64Image.split(/:|,|;/);
let binary = atob(base64str);

let array = [];
for (let i = 0; i < binary.length; i++) {
array.push(binary.charCodeAt(i));
}
let fileData = new Blob([new Uint8Array(array)], {
type: mimeType,
});

let ext = mimeType.split("/")[1];
console.log("ext: ", ext);
let fileOfBlob = new File([fileData], `${new Date().getTime()}.${ext}`); // 重命名了
return fileOfBlob;
}