首頁  >  文章  >  web前端  >  您可以使用 JavaScript 將資料 URL 轉換回 Blob 嗎?

您可以使用 JavaScript 將資料 URL 轉換回 Blob 嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 03:14:02880瀏覽

 Can you convert a Data URL back into a Blob using JavaScript?

從DataURL 擷取Blob

問題:

使用FileReader 的readAsDataURL() 方法,可以將資料轉換為Data網址。但是,是否有一種方法可以逆轉此過程並使用內建瀏覽器 API 從資料 URL 建立 Blob 實例?

答案:

提出了一個解決方案由Matt 一年前在討論主題“如何在javascript 中將dataURL 轉換為文件對象?”

更新的程式碼:

由於BlobBuilder 已被棄用,這裡是更新程式碼:

<code class="javascript">function dataURItoBlob(dataURI) {
  // Convert base64 to raw binary data as a string
  let byteString = atob(dataURI.split(',')[1]);

  // Extract the MIME type
  let mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];

  // Convert the string to an ArrayBuffer
  let ab = new ArrayBuffer(byteString.length);
  let ia = new Uint8Array(ab);

  // Set the ArrayBuffer bytes to the appropriate values
  for (let i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
  }

  // Create a Blob from the ArrayBuffer
  let blob = new Blob([ab], { type: mimeString });
  return blob;
}</code>

以上是您可以使用 JavaScript 將資料 URL 轉換回 Blob 嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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