美文网首页
blob与base64转换

blob与base64转换

作者: 大佬啊 | 来源:发表于2020-01-05 20:42 被阅读0次

在处理文件预览与打印的时候经常需要转换成base64在前端处理,后台返回blob对象。

blob转换为base64


function getBase64(blob) {

  return new Promise((resolve, reject) => {

    const reader = new FileReader();

    reader.readAsDataURL(blob);

    reader.onload = () => resolve(reader.result);

    reader.onerror = error => reject(error);

  });

}

base64转换为blob


function dataURItoBlob(base64Data) {

  let byteString;

  if (base64Data.split(',')[0].indexOf('base64') >= 0) {byteString = atob(base64Data.split(',')[1]);}

  else {

    byteString = unescape(base64Data.split(',')[1]);

  }

  const mimeString = base64Data.split(',')[0].split(':')[1].split(';')[0];

  const ia = new Uint8Array(byteString.length);

  for (let i = 0; i < byteString.length; i++) {

    ia[i] = byteString.charCodeAt(i);

  }

  const blob = new Blob([ia], {

    type: mimeString,

  });

  return blob;

}

以上

相关文章

网友评论

      本文标题:blob与base64转换

      本文链接:https://www.haomeiwen.com/subject/qrmcactx.html