HTML:Form表单标签的Enctype属性的作用及应用示例介绍

1.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的。

2.如何用JS更改enctype

function checkForm(form){ 
	form.enctype="multipart/form-data";  
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值