我想将录制的视频(保存为blob)包含到将发布的表单中。
两个问题:
- 发布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,让服务器返回一个与上传相关的密钥,然后将其插入表单的隐藏元素中,这样,当表单正常提交时,服务器可以将该数据附加到之前上传的blob。