【问题标题】:Why not always use enctype="multipart/form-data"?为什么不总是使用 enctype="multipart/form-data"?
【发布时间】:2010-11-05 13:35:54
【问题描述】:

在构建 HTML 表单时,为什么我们不总是使用 enctype="multipart/form-data"

【问题讨论】:

    标签: html forms enctype


    【解决方案1】:

    multipart/form-dataapplication/x-www-form-urlencoded 大很多;后者只是一堆键和值(无论是GET 还是POST,都可以用相同的方式解析),而前者需要完整的 MIME 支持,因此当您拥有无法处理的数据时更有用简单地表示为键/值对。

    【讨论】:

    • 我们从几个月开始就一直使用 enctype="multipart/form-data"(即使是没有上传文件的表单)。它工作得很好。这使我们的模板更容易。向“无条件”方向迈出一小步。我没有做任何字节计数,因为它在我的上下文中并不重要。
    【解决方案2】:

    因为在服务器和自定义客户端上都很难处理。简单胜于复杂,除非简单是行不通的。

    【讨论】:

    • 如果 CPU 有点忙,我不会感到痛苦。您认为这种开销是可衡量的吗?
    【解决方案3】:

    在 PHP 中,表单的编码类型无关紧要。你总是得到键/值对。

    因此,如果更难的编码是不这样做的唯一原因并且您正在使用 PHP,则只需使用 enctype="multipart/form-data"。

    还有其他原因吗?

    【讨论】:

    • 那是只是 PHP。世界上的网络编程语言不止 PHP。
    • @BalusC:他说“你正在使用 PHP”。布鲁诺不是在谈论其他网络编程语言。
    【解决方案4】:

    Mulipart 暗示我们将使用不同的 mime 类型。例如,发送一个二进制文件,您将有一个部分带有 x-www-form-urlencoded 部分,而另一部分带有八位字节流。大多数情况下,您发送的内容来自相同的 mime 类型。

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 2017-12-17
      • 2022-06-25
      • 2023-04-03
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多