可以enctype =“多部分/ form-data"也可用于非文件输入


Can enctype="multipart/form-data" be used for non file inputs as well?

允许吗?

<form enctype="multipart/form-data" action="__URL__" method="POST">
  <input type="text" name="text_input" />
  <input type="other_types" name="other_types_input" />
  <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  <input name="userfile" type="file" />
  <input type="submit" value="Submit" />
</form>

是的,绝对正确。没有问题。

这很好。

包含文件元素的表单通常是这样构造的

虽然这个问题很老了,但已经发布的答案没有解释,所以我补充这一点,以便对未来的读者有所帮助。

HTTP POST方法向服务器发送数据。请求正文的类型由Content-Type报头指示。通过在元素的enctype属性或元素的formenctype属性中放入适当的字符串来选择内容类型。HTML表单提供了三种编码方法。

  1. application/x-www-form-urlencoded(默认)
  2. 多部分/格式
  3. 文本/平原

对于multipart/form-data,每个值作为一个数据块("body部分")发送,用用户代理定义的分隔符("boundary")分隔每个部分。密钥在每个部分的Content-Disposition标头中给出。不管你是否发送文件。所以应该没问题。

参考mozilla doc