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

Posted

技术标签:

【中文标题】如何将 enctype 属性添加到 FormData() 对象?【英文标题】:How do you add an enctype attribute to a FormData() object? 【发布时间】:2016-08-29 04:46:22 【问题描述】:

我正在构建一个发送数据和文件的 FormData() 对象。但是,尽管在 xhr 请求中添加了 Content-Type 标头,但服务器还是找不到 Post。

我添加了 Content-Type 属性:

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

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

我有什么遗漏吗?我宁愿不必从 DOM 元素构造 FormData 对象。

谢谢

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于如何将 enctype 属性添加到 FormData() 对象?的主要内容,如果未能解决你的问题,请参考以下文章

当存在enctype属性时,"name "属性的值没有被发送到表单中(Express, Mongo, Node)。

为什么上传文件的表单里要加个属性enctype

form表单中的encType属性

(三十)商品管理-添加商品(上传图片)

form表单的enctype

每日思考(2019/12/30)