base64和Blob互相转换

1.base64转blob(二进制数据)

/**
 * 将以base64的图片url数据转换为Blob
 * @param urlData 用url方式表示的base64图片数据
 */
function convertBase64UrlToBlob(urlData){
    var arr = urlData.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});
}

2.blob转base64

/**
 * 借助FileReader实现转化
 * return base64Url
 */
function blobToDataURL(blob) {
    let a = new FileReader();
    a.onload = function (e) {
        return e.target.result; 
    }
    a.readAsDataURL(blob);
}

blob将图片以二进制数据的形式传给后台,据说是更加友好,我没有进行过多研究。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

原文地址:https://www.cnblogs.com/Marydon20170307/p/11446706.html