從DataURL取得Blob
在某些場景下,需要使用FileReader的readAsDataURL( ) 方法。但是,可以利用內建瀏覽器 API 將這個資料 URL 轉換回 Blob 實例嗎?
名為Matt 的用戶提出了一個解決方案:
代碼片段:
<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>
注意:
如後續評論中所提到的,BlobBuilder 已被棄用。因此,上面提供的程式碼是更新版本。
以上是您可以使用內建 API 將資料 URL 轉換回 JavaScript 中的 Blob 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!