如何在不使用multipart的情况下使用AJAX上传文件?

时间:2013-05-17 09:03:14

标签: javascript ajax file upload

我的应用允许用户上传的唯一文件是图片,并且它们始终作为表单中的唯一输入字段上传。因此,multipart是不必要的,并且我可以更容易地使用没有多部分解析器的文件。

如何在不使用AJAX和vanilla Javascript的情况下使用multipart上传文件?此外,它通常应该支持所有浏览器的最新版本。

1 个答案:

答案 0 :(得分:4)

您只需通过XHR级别2发送关联的文件或Blob本身。例如,在我维护的上传库(Fine Uploader)中,您可以选择在多部分编码的POST请求中发送文件(所有浏览器)或非MPE请求(仅支持File API的浏览器)。

要在MPE POST请求中发送文件,您可能已经知道,您必须将文件添加到FormData对象并通过XHR2发送,或者提交包含文件输入的表单。如果要在非MPE POST请求中上传文件,只需执行以下操作:

xhr.send(file);

当然,这只能在支持File API的浏览器中完成。此外,如果要将任何参数与文件一起发送,则必须将它们包含在查询字符串中。

相关问题