Mendapatkan Gumpalan daripada DataURL
Dalam senario tertentu, terdapat keperluan untuk mengubah data sewenang-wenangnya menjadi URL Data menggunakan readAsDataURL FileReader( ) kaedah. Walau bagaimanapun, bolehkah URL Data ini ditukar semula menjadi contoh Blob menggunakan API penyemak imbas terbina dalam?
Penyelesaian telah dicadangkan oleh pengguna bernama Matt:
Coretan Kod:
<code class="js">function dataURItoBlob(dataURI) { // Convert base64 to raw binary data var byteString = atob(dataURI.split(',')[1]); // Extract the MIME component var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0] // Create an ArrayBuffer and Uint8Array var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); // Set the bytes of the buffer for (var i = 0; i < byteString.length; i++) { ia[i] = byteString.charCodeAt(i); } // Create a Blob instance var blob = new Blob([ab], { type: mimeString }); return blob; }</code>
Nota:
Seperti yang dinyatakan dalam ulasan berikutnya, BlobBuilder telah tidak digunakan lagi. Oleh itu, kod yang disediakan di atas adalah versi yang dikemas kini.
Atas ialah kandungan terperinci Bolehkah Anda Menukar URL Data Kembali kepada Blob dalam JavaScript Menggunakan API Terbina dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!