从对象 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中文网其他相关文章!