javascript - reader.readAsDataURL() 总是返回 blob 的 MIME 类型和“[object FileList]”
问题描述
我一直在尝试编写一个脚本来对字体文件进行 Base64 编码,这是我的代码:
var fileExtension = fontName(".").pop();
if (fileExtension == "ttf") {
var blob = new Blob([fontFile], {type: "font/ttf"});
} else if (fileExtension == "otf") {
var blob = new Blob([fontFile], {type: "font/otf"});
};
const binaryData = async (blob) => {
return await base64Encode(blob);
}
const base64Encode = blob => new Promise((resolve, reject) => {
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
问题是当我调用binaryData(blob)
它时总是返回以下字符串:data:font/ttf;base64,W29iamVjdCBGaWxlTGlzdF0=
. 我尝试了 Base64 解码 W29iamVjdCBGaWxlTGlzdF0= ,它只是意味着[object FileList]
。谁能帮我弄清楚为什么它总是返回那个?我也没有使用btoa()
,因为显然它只适用于字符串。
解决方案
推荐阅读
- python - 构建和训练具有两个输入的逻辑回归网络
- bluetooth-lowenergy - 蓝牙我间谍
- c++ - 如何创建循环以通过数组
- macos-mojave - 适用于 Mac OSX (10.14.6) Mojave 的 USB 转串口驱动程序
- python - 单击 QListWidgetItem 时的 PyQt5 调用函数
- sql - 如何在 PostgreSQL 中动态执行加权随机行选择?
- android - 运行没有权限的颤振项目时出错
- python - Julia:将 Dict 项作为参数传递给函数
- python - 未找到 boto3 模块
- c++ - C++ 错误:取消定义对类中 main 的引用