【发布时间】:2021-10-18 09:21:46
【问题描述】:
在过去的几个小时里,我一直在尝试找到一种使用 JavaScript 对二进制数据进行 Base64 编码的方法,结果发现 btoa() 仅适用于字符串,所以我想出了以下代码,其中 blob 是我需要编码的文件:
function base64Encode(blob) {
var reader = new FileReader();
reader.readAsDataURL(blob)
reader.onloadend = function() {
console.log(reader.result);
};
};
问题是,base64Encode(blob) 总是返回 undefined,有人知道解决办法吗?
【问题讨论】:
-
试着把你的函数放在onload,而不是onloadend。另外,你的 blob 有没有可能是格式错误的?
-
你的函数
base64Encode没有返回任何东西,所以隐式返回undefined。 -
1.任何没有
return语句的函数“返回未定义”。 2. readAsDataUrl 是异步的。 read more
标签: javascript function base64 blob filereader