Util: 前端 Base64 转化为 File 格式

export function base64ToFile(base64Str) {
    //将base64转换为blob
    const dataURLtoBlob = function(dataurl) { 
        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 Blob([u8arr], { type: mime });
    }
    //将blob转换为file
    const blobToFile = function(theBlob, fileName){
        theBlob.lastModifiedDate = new Date();
        theBlob.name = fileName;
        return new window.File(
            [theBlob],
            theBlob.name,
            { type: theBlob.type }
        );
    }
    //调用
    var blob = dataURLtoBlob(base64Str);
    var file = blobToFile(blob, Math.random().toString(36).substr(2));

    return file
}

你可能感兴趣的:(Util: 前端 Base64 转化为 File 格式)