Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana dengan Cekap Menukar Blob daripada Borang HTML kepada Rentetan Base64?

Bagaimana dengan Cekap Menukar Blob daripada Borang HTML kepada Rentetan Base64?

Linda Hamilton
Linda Hamiltonasal
2024-11-17 16:51:02677semak imbas

How to Efficiently Convert a Blob from an HTML Form to a Base64 String?

Tukar Blob kepada Base64

Dalam pertanyaan pengekodan ini, pengguna berusaha untuk menukar gumpalan, yang diperoleh daripada input borang HTML, kepada rentetan base64. Kod yang disediakan berjaya memaparkan imej dengan mencipta objek URL menggunakan createObjectURL, tetapi penukaran yang dikehendaki menggunakan readAsBinaryString menghasilkan pembolehubah sumber nol.

Untuk menyelesaikan isu ini dan memintas kerumitan kod yang disediakan, penyelesaian yang lebih mudah menggunakan kaedah readAsDataURL dibentangkan di bawah:

var reader = new FileReader();
reader.readAsDataURL(blob); 
reader.onloadend = function() {
  var base64data = reader.result;                
  console.log(base64data);
}

Menurut dokumentasi FileReader, readAsDataURL mengekod kandungan sebagai base64.

Untuk pengendalian tak segerak, fungsi yang boleh ditunggu boleh ditakrifkan sebagai:

function blobToBase64(blob) {
  return new Promise((resolve, _) => {
    const reader = new FileReader();
    reader.onloadend = () => resolve(reader.result);
    reader.readAsDataURL(blob);
  });
}

Nota: Untuk mendapatkan rentetan yang dikodkan base64 sahaja, alih keluar data:/;base64, daripada hasilnya.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Blob daripada Borang HTML kepada Rentetan Base64?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn