首页  >  文章  >  web前端  >  如何在 JavaScript 中将数据 URL 转换回 Blob 实例?

如何在 JavaScript 中将数据 URL 转换回 Blob 实例?

Barbara Streisand
Barbara Streisand原创
2024-10-26 09:59:29847浏览

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

从 DataURL 检索 Blob 实例

使用 FileReader 的 readAsDataURL() 将任意数据转换为数据 URL 是一项常见任务。然而,当需要将 Data URL 恢复为 Blob 实例时,内置的浏览器 API 可能会显得不清楚。

为了解决这个问题,Matt 在之前的讨论中提供了解决方案(如何转换dataURL 到 JavaScript 中的文件对象?)。虽然 BlobBuilder 现已弃用,但更新后的代码可以有效地将数据 URL 转换为 Blob:

<code class="js">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);
  }

  return new Blob([ab], { type: mimeString });
}</code>

此代码片段毫不费力地将数据 URL 转换为 Blob,解决初始查询问题并提供实用的数据操作工具。

以上是如何在 JavaScript 中将数据 URL 转换回 Blob 实例?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn