首頁 > web前端 > js教程 > 如何在 JavaScript 中將資料 URL 轉換為 Blob?

如何在 JavaScript 中將資料 URL 轉換為 Blob?

DDD
發布: 2024-10-29 21:20:30
原創
732 人瀏覽過

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

將資料 URL 轉換為 Blob

使用 FileReader 的 readAsDataURL() 將任意資料轉換為資料 URL 是一項有用的技術。但是,如果您需要將該 Data URL 轉換回 Blob 實例呢?

瀏覽器本機轉換

目前,沒有內建的瀏覽器 API 可以支援直接將資料 URL 轉換為 Blob。但是,有一些利用自訂 JavaScript 程式碼的解決方案。

自訂JavaScript 解決方案

Matt 在Stack Overflow 上提出了一種廣泛接受的方法(如何將dataURL 轉換為JavaScript 中的檔案物件?) 。以下是他的程式碼的更新版本:

<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>
登入後複製

用法

您現在可以使用dataURItoBlob() 將資料URL 轉換為Blob 物件:

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

以上是如何在 JavaScript 中將資料 URL 轉換為 Blob?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板