Estoy usando los siguientes 2 métodos, pero no puedo recuperar la cadena base64.
function convertFileToBase64(file) { return new Promise((resolve, reject) => { const reader = new FileReader(); reader.readAsDataURL(file); reader.onload = () => resolve(reader.result); reader.onerror = reject; }); } function previewProductImages(files){ let preveiwImagesTemplate = []; for(let i=0; i<files.length; i++ ){ const uploadedImageBase64 = convertFileToBase64(files[i]); /// WANT BASE64 HERE So I can pass that to another method } }Se aceptan reemplazos o mejores enfoques.
Primero debe asignar un controlador a la propiedad onload y luego llamar al método readAsDataURL() , no al revés.
function readFile(file) { return new Promise((resolve) => { if (file.size) { const reader = new FileReader(); reader.onload = (e) => { resolve({ binary: file, b64: e.target.result, }); }; reader.readAsDataURL(file); } }); }