本文所分享的知识点是【Form表单标签的Enctype属性的作用及应用示例介绍】,欢迎您喜欢我爱IT技术网所分享的教程、知识、经验或攻略,下面是详细的讲解。
Form表单标签的Enctype属性的作用及应用示例介绍
Enctype :指定将数据回发到服务器时浏览器使用的编码类型。用于表单里有图片上传。
编码类型有以下三种:
application/x-www-form-urlencoded: 在发送前编码所有字符(默认)。这是标准的编码格式。
multipart/form-data: 不对字符编码,在使用包含文件上传控件的表单时,必须使用该值。
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
例子:
<form action="${pageContext.request.contextPath}/imageUpload_saveOrUpdate.action" method="post" enctype="multipart/form-data">
<div>
<label>请选择上传图片地址:</label>
<input type="file" name="image"/>
</div>
</div>
<div>
<input type="submit" value="上传"/>
</div>
</form>
表单中enctype="multipart/form-data"的意思,是设置表 单的MIME编码。默认情况,这个编码格式是 application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整 的传递文件数据。
enctype="multipart/form-data"是上传二进制数据过去。
如果在服务器端要通过Request对象来获取相应表单域的值,则应该将enctype属性设置为application/x-www-form-urlencoded值(即默认值,可以不显示设置)。
为什么上传文件要设置enctype="multipart/form-data":
因为:设置enctype为multipart/form-data值后,不对字符编码,则数据通过二进制的形式传送到服务器端,这时如果用request是无法直接获取到相应表单的值的,而应该通过stream流对象,将传到服务器端的二进制数据解码,从而读取数据。
如果要上传文件的话,是一定要将encotype设置为multipart/form-data的。
关于Form表单标签的Enctype属性的作用及应用示例介绍的相关讨论如下:
相关问题:<form>标签中的enctype元素具体是做什么的?
答:enctype元素--->专门用来制定包含文件上传时表单数据的封装格式。就是一定要加入enctype="multipart/form-data"这个是必须得。。。无论你是Apache的commons组件,服务器是Apache的Tomcat;还是技术框架都需要这样。 >>详细
相关问题:为什么上传文件的表单里要加个属性enctype
答:表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. >>详细
相关问题:在serverlet中如何获取表单中enctype属性的值?
答:从header信息中取,有木有request.getHeader("xx")的方法? 最简单的办法,是debug一下,看下request对象里面的信息就知道了。 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
