【发布时间】:2010-11-05 13:35:54
【问题描述】:
在构建 HTML 表单时,为什么我们不总是使用 enctype="multipart/form-data"?
【问题讨论】:
在构建 HTML 表单时,为什么我们不总是使用 enctype="multipart/form-data"?
【问题讨论】:
multipart/form-data 比application/x-www-form-urlencoded 大很多;后者只是一堆键和值(无论是GET 还是POST,都可以用相同的方式解析),而前者需要完整的 MIME 支持,因此当您拥有无法处理的数据时更有用简单地表示为键/值对。
【讨论】:
因为在服务器和自定义客户端上都很难处理。简单胜于复杂,除非简单是行不通的。
【讨论】:
在 PHP 中,表单的编码类型无关紧要。你总是得到键/值对。
因此,如果更难的编码是不这样做的唯一原因并且您正在使用 PHP,则只需使用 enctype="multipart/form-data"。
还有其他原因吗?
【讨论】:
Mulipart 暗示我们将使用不同的 mime 类型。例如,发送一个二进制文件,您将有一个部分带有 x-www-form-urlencoded 部分,而另一部分带有八位字节流。大多数情况下,您发送的内容来自相同的 mime 类型。
【讨论】: