关于HTML的FORM上传文件问题
2015-09-16 21:40
405 查看
首先,大家可以测试后一段代码
然后在后台
你会发现files里面什么都没有,
为什么呢,原来是form压根就没上传 file,因为一个属性在作怪enctype
因为form有一个属性enctype 属性,enctype规定在发送到服务器之前应该如何对表单数据进行编码。
默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。
从上表enctype的取值可以看出,默认的会编码所有字符,当有文件上传时直接抛弃了。
此时该换成
即可。并注意input file必须要有name属性,否则也不被上传。
<form id="form1" runat="server"> <input type="file" name="ttt" /> <input type="submit" value="点击" /> </form>
然后在后台
var files= Request.Files;
你会发现files里面什么都没有,
为什么呢,原来是form压根就没上传 file,因为一个属性在作怪enctype
因为form有一个属性enctype 属性,enctype规定在发送到服务器之前应该如何对表单数据进行编码。
默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。
值 | 描述 |
---|---|
application/x-www-form-urlencoded | 在发送前编码所有字符(默认) |
multipart/form-data | 不对字符编码。 在使用包含文件上传控件的表单时,必须使用该值。 |
text/plain | 空格转换为 "+" 加号,但不对特殊字符编码。 |
此时该换成
<form id="form1" runat="server" enctype="multipart/form-data"> <input type="file" name="ttt" /> <input type="submit" value="点击" /> </form>
即可。并注意input file必须要有name属性,否则也不被上传。
相关文章推荐
- 【HTML】dl dt dd
- 几种特别的分割线
- XML与HTML的关系
- html初学-基础
- qml与html传参
- html新手引导
- HTML DOM Event 对象
- html中背景图不随着鼠标的转动改变大小
- td 边框加粗
- HTML 初识
- pdf格式转换成html的方法介绍
- input 文本框控制文本输入长度
- html_1基础
- html checkbox attr and prop
- html meta标签
- html内嵌flex同时向flex页面传参实现pdf文档在线阅读
- 把html写在控制器中,然后输出到view里面
- Data Structure for HTML DOM with compare text inside
- html中clearfix:after也clear:both有什么区别?
- 那些年的 Hello World (HTML)