将 blob 转换为 base64

2024-05-26

这是我想要执行的代码片段Blob to Base64 string:

此注释部分有效,当由此生成的 URL 设置为 img src 时,它会显示图像:

var blob = items[i].getAsFile();
//var URLObj = window.URL || window.webkitURL;
//var source = URLObj.createObjectURL(blob);
//console.log("image source=" + source);

var reader = new FileReader();
reader.onload = function(event){
console.log(event.target.result)
}; // data url!
var source = reader.readAsBinaryString(blob);

问题出在较低的代码中,生成的源变量为空

Update:

有没有一种更简单的方法可以使用 JQuery 来从 Blob 文件创建 Base64 字符串,如上面的代码所示?


var reader = new FileReader();
reader.readAsDataURL(blob); 
reader.onloadend = function() {
  var base64data = reader.result;                
  console.log(base64data);
}

形成docs https://developer.mozilla.org/en-US/docs/Web/API/FileReader#readAsDataURL%28%29 readAsDataURL编码为base64

As an await能够的功能:

function blobToBase64(blob) {
  return new Promise((resolve, _) => {
    const reader = new FileReader();
    reader.onloadend = () => resolve(reader.result);
    reader.readAsDataURL(blob);
  });
}

注意:如果不首先删除 Base64 编码数据前面的 Data-URL 声明,则无法将 blob 的结果直接解码为 Base64。要仅检索 Base64 编码的字符串,请首先删除数据:/;base64,来自结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 blob 转换为 base64 的相关文章

随机推荐