从 HTML 表单发布 blob 的表单输入类型是什么?
What is the form input type for posting blob from an HTML Form?
我想将录制的视频(保存为 blob)添加到将要 posted 的表单中。
两个问题:
- post blob 需要什么输入类型?
- 如何将 blob 分配给该输入类型?
我看到的一些建议使用输入文件类型。
示例表格:
<form method="POST>
<input type="text" class="hidden" name="filename"/>
<input type="<UNKNOWN>" class="hidden" name="filedata"/>
<input type="submit" />
</form>
我假设我会做类似
的事情
$("[name=filename]").val(myBlob)
我认为将 blob 附加到表单的唯一方法是使用 FormData() 对象。
var formData = new FormData();
formData.append("name", blob, filename);
然后使用 XMLHttpRequest 发送表单,例如:
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.send(formData);
因此,如果您需要将此 blob 与其他表单信息一起发送,您可以将普通表单数据附加到您的 FormData 对象并发送整个信息。或者可能想出一些其他解决方案,例如仅发送 blob 并让服务器 return 与上传相关联的密钥,然后将其插入到表单的隐藏元素中,因此当表单正常提交时,您的服务器可以将该数据附加到之前上传的 blob。
我想将录制的视频(保存为 blob)添加到将要 posted 的表单中。
两个问题:
- post blob 需要什么输入类型?
- 如何将 blob 分配给该输入类型?
我看到的一些建议使用输入文件类型。
示例表格:
<form method="POST>
<input type="text" class="hidden" name="filename"/>
<input type="<UNKNOWN>" class="hidden" name="filedata"/>
<input type="submit" />
</form>
我假设我会做类似
的事情$("[name=filename]").val(myBlob)
我认为将 blob 附加到表单的唯一方法是使用 FormData() 对象。
var formData = new FormData();
formData.append("name", blob, filename);
然后使用 XMLHttpRequest 发送表单,例如:
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.send(formData);
因此,如果您需要将此 blob 与其他表单信息一起发送,您可以将普通表单数据附加到您的 FormData 对象并发送整个信息。或者可能想出一些其他解决方案,例如仅发送 blob 并让服务器 return 与上传相关联的密钥,然后将其插入到表单的隐藏元素中,因此当表单正常提交时,您的服务器可以将该数据附加到之前上传的 blob。