Мне нужно создать возможность прикреплять изображения и отправлять их через JSON в base64
. Но я не могу получить результирующую строку из объекта FileReader. Буду очень признателен, если вы подскажете, как это исправить.
<form>
<label>Picture
<input type="file" accept=".jpg, .jpeg, .png" name="picture" required>
</label>
</form>
async function push() {
// some other actions here
let form = new FormData(document.querySelector('form'));
let json = construct_json(form);
//calls of other functions
}
function getBase64(file) {
let reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () { // I think there is a mistake here.
reader.result;
};
}
function construct_json(form) {
let json = {
picture: getBase64(form.get('picture')),
};
return JSON.stringify(json);
}
UPD: Если я пытаюсь использовать json в пу sh (), то у меня такая же проблема. И добавление ожидания не помогает. Буду признателен за подсказку, как в функции pu sh () вывести json?