javascript - 将文件输入转换为 Base 64 后返回错误
问题描述
根据如何在 JavaScript 中将文件转换为 base64?我找到了一种将图像转换为基于 javascript 的 base64 的方法,如下所示:
//My Converter Function
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
console.log("befor");
console.log(reader.result);
console.log("after");
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
我通过以下方式使用它:
getBase64(file).then(
data => (Image64bit = data)
似乎我得到了 64 位字符串但我每次都返回这个错误:(请注意,没有“then”它不会返回任何东西)
zone.js:192 未捕获的类型错误:无法 在 HTMLButtonElement 的 UploadFileAndGetUrl (doctors.js:14949) 处读取未定义的属性“then” 。(doctors.js:14703) 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421) 在 Zone.push../node_modules/zone.js/dist /zone.js.Zone.runTask (zone.js:188) 在 ZoneTask.push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask [as invoke] (zone.js:496) 在 invokeTask (zone.js:1540) 在 HTMLButtonElement.globalZoneAwareCallback (zone.js:1566)
之前
医生.js:14992 数据:图像/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAH0CAMAAADynrlKAAACBFBMVEUAzG9U1pBn2Zskz3vV8+H////g9umH4K71/Pjr+fHJ8Nm97dE/04aj5sCW47d43aSw6sg1143j+e801owDZX.js
后
我该如何解决这个错误?
解决方案
zone.js:192 未捕获类型错误:无法读取未定义的属性“then”
函数getBase64
不返回Promise
.
您需要更正getBase64
它返回 aPromise
并在内部解析为reader.onload
的值reader.result
:
function getBase64(file) {
return new Promise(resolve, reject) => {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
console.log("befor");
console.log(reader.result);
console.log("after");
resolve(reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
reject(error);
};
}
}
推荐阅读
- ios - 在 Swift 中像 String 一样连接 Int?
- python - 如何获取工作簿中活动工作表的工作表编号或工作表名称
- php - 如何在数组数组中找到相同的名称并在 PHP 中组合它们的值?
- python - 正则表达式命名组(如果存在)
- spring-boot - Spring Boot 实体、关系和存储库混淆
- javascript - 为未选中的数组复选框传递值
- r - R,闪亮:反应性 data.frame 作为一个因素,设置级别和顺序
- angular - 无法将 formGroup 添加到 FormArray
- python - Django 如何使用 POST 检索数据并使用序列化程序返回数据
- javascript - 未捕获的类型错误:$(...).easyAutocomplete 不是函数