如何将uniapp中blob对象转换成base64

uniapp中上传后的图片是blob格式,但是我往后端存,需要base64格式。
如何将uniapp中blob对象转换成base64


function blobToBase64 (blob) {
    return new Promise((resolve, reject) => {
        const fileReader = new FileReader()
        fileReader.onload = (e) => {
            resolve(e.target.result)
        }
        // readAsDataURL
        fileReader.readAsDataURL(blob)
        fileReader.onerror = () => {
            reject(new Error('blobToBase64 error'))
        }
    })
}

【相关推荐】



  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:图片上传:Blob转base64
  • 除此之外, 这篇博客: base64 和blob 上传与互换中的 3. base64 和 Blob 相互转换 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    //Base64 to Blob
    //dataurl - data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVYAAAC+CAMAAAB...
    function dataURLtoBlob(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 to Base64
    function blobToDataURL(blob, callback) {
        let a = new FileReader();
        a.onload = function (e) { callback(e.target.result); }
        a.readAsDataURL(blob);
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^