在此编码查询中,用户试图将从 HTML 表单输入获取的 Blob 转换为 Base64 字符串。提供的代码通过使用 createObjectURL 创建 URL 对象成功显示图像,但使用 readAsBinaryString 进行所需的转换会导致源变量为空。
要解决此问题并绕过所提供代码的复杂性,有一个更简单的解决方案下面介绍了如何利用 readAsDataURL 方法:
var reader = new FileReader(); reader.readAsDataURL(blob); reader.onloadend = function() { var base64data = reader.result; console.log(base64data); }
根据 FileReader 文档,readAsDataURL 将内容编码为base64.
对于异步处理,可等待函数可以定义为:
function blobToBase64(blob) { return new Promise((resolve, _) => { const reader = new FileReader(); reader.onloadend = () => resolve(reader.result); reader.readAsDataURL(blob); }); }
注意:要单独获取base64编码的字符串,请删除数据:< ;em>/;base64,来自结果。
以上是如何有效地将 Blob 从 HTML 表单转换为 Base64 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!