我正在尝试从Angular 5将base64字符串发布到我的api
首先,我必须将其从图像转换为base64,在Internet和MDN上进行检查之后,我开发了一种方法
OnIDChange(event) {
var file = event.target.files[0];
var reader = new FileReader();
reader.onloadend = this.handleReaderLoaded.bind(this, "Id");
reader.readAsBinaryString(file);
}
和
handleReaderLoaded(readerEvt:any, indicator: string) {
var binaryString = readerEvt.target.result;
if (indicator == "Id") {
this.Model.IDPhoto = btoa(binaryString);
}
}
我必须将此base64存储在模型属性中才能在api中发布
但是在控制台中,它在屏幕上给出错误“无法读取未定义的属性'结果'”
var binaryString = readerEvt.target.result;
如果还有其他更合适的方法,我该如何将图像转换为base64(任何npm软件包或其他内容,也请让我知道)
提前致谢 。
来自MDN MDN链接的参考
您需要使用readAsDataUrl()
:
function getBase64(event) {
let me = this;
let file = event.target.files[0];
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
//me.modelvalue = reader.result;
console.log(reader.result);
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句