base64字符串转blob对象报错

后台返回base64编码的图片,但是我需要转成url才能用,所以需要先将base64转成blob对象,再用url的方法转成url。但是在base64转成blob对象,试了很多种方法都报错,如下图所示:
clipboard.png
这是什么情况,我的代码:

function b64toBlob(dataURI) {
    var byteString = atob(dataURI.split(',')[1]);
    var ab = new ArrayBuffer(byteString.length);
    var ia = new Uint8Array(ab);

    for (var i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
    }
    return new Blob([ab], { type: 'image/jpeg' });
}
var b= b64toBlob(a.base64);//a是个对象,格式为{"name":"2.jpg","base64":"(base64编码)"}

求解!

阅读 5.3k
2 个回答

怀疑你a.base64本身就有问题,你可以打个log把dataURI的前面一部分截取出来吗。

byteString

去掉最后两位就可以, 但是我不知道为什么, 准备发一个问题问一下.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题