如何向 FormData() 对象添加 enctype 属性?

Dec*_*ple 5 javascript ajax xmlhttprequest

如何向 FormData() 对象添加 enctype 属性?

我正在构建一个发送数据和文件的 FormData() 对象。然而,尽管将 Content-Type 标头添加到 xhr 请求中,服务器仍无法找到该 Post。

我添加了 Content-Type 属性:

xhr.open('POST','/post/to/url', true );
xhr.setRequestHeader('Content-Type', 'multipart/form-data');
Run Code Online (Sandbox Code Playgroud)

我最终只是创建了一个 enctype 属性等于 multipart/form-data 的标签,然后从该元素构造了 FormData 对象。

我有什么遗漏的吗?我不想从 DOM 元素构造 FormData 对象。

谢谢

Mus*_*usa 0

使用 FormData 时无需设置内容类型,它会在发出 ajax 请求时自动设置。
如果您像您一样手动设置它,则不会设置边界,并且服务器将无法解码请求。