Как преобразовать вставленный файл в base64 в React Js?

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

1 ответ

Вот пример, который кто-то надевает на Codepen здесь https://codepen.io/AshV/pen/pjodjV

HTML

<input type="file" id="files" name="files" />
<br/>
<textarea id="base64" rows="5"></textarea>

JS

// Check for the File API support.
if (window.File && window.FileReader && window.FileList && window.Blob) {
  document.getElementById('files').addEventListener('change', handleFileSelect, false);
} else {
  alert('The File APIs are not fully supported in this browser.');
}

function handleFileSelect(evt) {
  var f = evt.target.files[0]; // FileList object
  var reader = new FileReader();
  // Closure to capture the file information.
  reader.onload = (function(theFile) {
    return function(e) {
      var binaryData = e.target.result;
      //Converting Binary Data to base 64
      var base64String = window.btoa(binaryData);
      //showing file converted to base64
      document.getElementById('base64').value = base64String;
      alert('File converted to base64 successfuly!\nCheck in Textarea');
    };
  })(f);
  // Read in the image file as a data URL.
  reader.readAsBinaryString(f);
}

Вы можете попробовать это на Codepen, чтобы увидеть, что этот пример работает.

Возможно, вам придется как-то настроить его под свой проект React, но в основном это то, что вам нужно.

Другие вопросы по тегам