首页  >  文章  >  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