【发布时间】:2021-07-27 01:32:27
【问题描述】:
我需要将上传的文件转换为base64,并将其作为参数传递给Web Api。
在示例中,如果我写入控制台 reader.result 它会写入正确的 base64 结果,但如果我将其作为返回变量返回,我会获得未定义的结果。
所以我无法从这个函数中检索结果,因为我必须将它传递给 ajax 调用。
如何等待编码完成,然后得到结果?
谢谢大家
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
return (reader.result);
};
reader.onerror = function (error) {
return ('Error: ', error);
};
}
$(document).ready(function () {
var base64File;
var files = document.getElementById('file').files; // uploaded file
if (files.length > 0) {
base64File = getBase64(files[0]);
}
console.log(base64File) // undefined
});
【问题讨论】:
标签: javascript html api file-upload base64