首頁 >web前端 >js教程 >您可以使用內建 API 將資料 URL 轉換回 JavaScript 中的 Blob 嗎?

您可以使用內建 API 將資料 URL 轉換回 JavaScript 中的 Blob 嗎?

Linda Hamilton
Linda Hamilton原創
2024-10-26 08:22:30609瀏覽

 Can You Convert a Data URL Back to a Blob in JavaScript Using Built-in APIs?

從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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn