Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menukar URL Data kepada Blob dalam JavaScript?

Bagaimana untuk Menukar URL Data kepada Blob dalam JavaScript?

DDD
DDDasal
2024-10-29 21:20:30687semak imbas

How to Convert a Data URL to a Blob in JavaScript?

Menukar URL Data kepada Gumpalan

Menubah data sewenang-wenangnya kepada URL Data menggunakan readAsDataURL() FileReader ialah teknik yang berguna. Walau bagaimanapun, bagaimana jika anda perlu menukar URL Data itu kembali kepada tika Blob?

Penukaran Asli Pelayar

Pada masa ini, tiada API penyemak imbas terbina dalam yang secara langsung menukar URL Data kepada Gumpalan. Walau bagaimanapun, terdapat penyelesaian penyelesaian yang menggunakan kod JavaScript tersuai.

Penyelesaian JavaScript Tersuai

Kaedah yang diterima secara meluas telah dicadangkan oleh Matt on Stack Overflow (Cara menukar dataURL kepada objek fail dalam javascript?). Berikut ialah versi kod beliau yang dikemas kini:

<code class="javascript">function dataURItoBlob(dataURI) {
  const byteString = atob(dataURI.split(',')[1]);
  const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];

  const ab = new ArrayBuffer(byteString.length);
  const ia = new Uint8Array(ab);

  for (let i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
  }

  const blob = new Blob([ab], { type: mimeString });
  return blob;
}</code>

Penggunaan

Anda kini boleh menggunakan dataURItoBlob() untuk mengubah URL Data anda menjadi objek Blob:

<code class="javascript">const dataURL = 'data:image/png;base64,...';
const blob = dataURItoBlob(dataURL);</code>

Atas ialah kandungan terperinci Bagaimana untuk Menukar URL Data kepada Blob dalam JavaScript?. 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