multipart/form-data 没有边界
Posted
技术标签:
【中文标题】multipart/form-data 没有边界【英文标题】:multipart/form-data without a boundary 【发布时间】:2017-10-11 11:43:18 【问题描述】:multipart/form-data 请求是否有效且没有边界?根据规范,当有超过1个部分时,使用边界将它们分开(并且该边界不应是身体的一部分)。我有一个请求,其中有一个主体作为原始内容或文件,并且在内容类型中我们传递 "multipart/form-data" 。这种请求真的有效吗?
【问题讨论】:
【参考方案1】:我认为multipart/form-data
没有边界的请求是无效。
根据RFC7231,只有1部分的请求仍然是有效的multipart
MIME类型,应该遵循multipart
MIME规则:
MIME 提供了许多“多部分”类型——将一个或多个表示封装在单个消息正文中。所有多部分类型共享一个通用语法...并包含一个边界参数作为媒体类型值的一部分。
根据RFC2046,“边界”是必填项:
多部分实体的 Content-Type 字段需要一个参数,“边界”。
...
“多部分”媒体类型的唯一强制全局参数是边界参数
【讨论】:
仅供参考:multipart/form-data
media type registry 也是结论性的。以上是关于multipart/form-data 没有边界的主要内容,如果未能解决你的问题,请参考以下文章
API 控制器 POST 方法 multipart/form-data 在主体内使用边界获取消息
如何使用 XMLHttpRequest 和 FormData 对象在 multipart/form-data 上设置我自己的边界
php + curl + multipart/form-data + 代理授权(基本)
如何在 Spring Boot 中使用 multipart/form-data 处理没有 Content-Disposition 标头的 POST