Как я могу получить строку изображения base64 из программы чтения файлов

#javascript

Вопрос:

Я использую ниже 2 метода, но я не могу получить из него строку base64.

 function convertFileToBase64(file) {  return new Promise((resolve, reject) =gt; {  const reader = new FileReader();  reader.readAsDataURL(file);  reader.onload = () =gt; resolve(reader.result);  reader.onerror = reject;  }); }  function previewProductImages(files){  let preveiwImagesTemplate = [];  for(let i=0; ilt;files.length; i   ){  const uploadedImageBase64 = convertFileToBase64(files[i]);  /// WANT BASE64 HERE So I can pass that to another method  } }  

Замена или лучшие подходы приветствуются.

Ответ №1:

Сначала вы должны назначить onload свойству обработчик, а затем вызвать readAsDataURL() метод, а не наоборот.

 function readFile(file)  {  return new Promise((resolve) =gt;  {  if (file.size)  {  const reader = new FileReader();  reader.onload = (e) =gt;  {  resolve({  binary: file,  b64: e.target.result,  });  };  reader.readAsDataURL(file);  }  });  }