首页 >web前端 >js教程 >如何将对象 URL 转换为文件或 Blob 以进行表单提交?

如何将对象 URL 转换为文件或 Blob 以进行表单提交?

Patricia Arquette
Patricia Arquette原创
2024-10-30 04:31:28550浏览

How to Convert an Object URL to a File or Blob for Form Submissions?

从对象 URL 检索文件或 Blob

在 Web 应用程序中处理图像时,通常使用拖放- drop 或其他方法允许用户上传文件。要显示这些图像,通常使用 URL.createObjectURL 将它们转换为对象 URL。然而,当涉及到将这些图像作为表单的一部分提交时,问题就出现了:如何将这些对象 URL 转换回 File 或 Blob 并将它们附加到 FormData 对象?

现代解决方案

现代浏览器提供了一个简单而高效的解决方案:

<code class="javascript">let blob = await fetch(url).then(r => r.blob());</code>

此代码可用于从对象 URL 和常规 URL 中获取文件或 Blob。 URL 参数可以是之前创建的对象 URL。

获得 Blob 后,您可以轻松地将其附加到 FormData 对象并提交表单。这是一个示例:

<code class="javascript">// Assume you have the Blob from the object URL
const formData = new FormData();
formData.append('image', blob);

// Submit the form via AJAX or another mechanism
fetch('/upload', {
  method: 'POST',
  body: formData
});</code>

以上是如何将对象 URL 转换为文件或 Blob 以进行表单提交?的详细内容。更多信息请关注PHP中文网其他相关文章!

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