骏马金龙 (新博客:www.junmajinlong.com)

网名骏马金龙,钟情于IT世界里的各种原理和实现机制,强迫症重症患者。爱研究、爱翻译、爱分享。特借此一亩三分田记录自己成长点滴!!!

Form的enctype属性

分类: 计算机语言通用知识

Form的enctype属性

一般都使用html的Form表单通过HTTP POST方法发送Request body。下面是一个form:

<form action="/process" method="post">
  <input type="text" name="first_name"/>
  <input type="text" name="last_name"/>
  <input type="submit"/>
</form>

如果使用GET方法,input中的key/vaule会编码后放进URL的query部分发送出去。如果使用POST方法,input中的key/value会编码后放进request的body中发送出去。

例如:

first_name=xxx&last_name=yyy

这是默认的情况:key=value,并使用"&"符号连接多个key/value。

但并非一定会如此组织,它由form的enctype属性决定的:<form action="/process" method="post" enctype=xxxxxx>。这个属性有三种值:

application/x-www-form-urlencoded
multipart/form-data
text/plain     // HTML5支持该值

默认的值为application/x-www-form-urlencoded,它的组织形式上面已经解释了。

如果设置为multipart/form-data,则会将编码后的key/value将组织成MIME数据的形式。例如:

------WebKitFormBoundaryMPNjKpeO9cLiocMw
 Content-Disposition: form-data; name="first_name"

sau sheong
------WebKitFormBoundaryMPNjKpeO9cLiocMw
 Content-Disposition: form-data; name="last_name"

chang
------WebKitFormBoundaryMPNjKpeO9cLiocMw--

那么选择哪个enctype组织形式?如果是简单的文本类型,使用默认的application/x-www-form-urlencoded会更简单、更高效。但如果发送大量数据(比如上传文件),应该使用multipart/form-data,甚至将数据进行Base64编码后,也可以使用multipart/form-data的形式。

 

转载请注明出处:https://www.cnblogs.com/f-ck-need-u/p/10021947.html

如果觉得文章不错,不妨给个打赏,写作不易,各位的支持,能激发和鼓励我更大的写作热情。谢谢!

posted @   骏马金龙  阅读(519)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
# 本文目录:
(右下角 # 关闭目录)
Form的enctype属性
点击右上角即可分享
微信分享提示

感谢您的支持

扫描二维码打赏

支付宝打赏