ENCTYPE="multipart/form-data"用于表单里有图片上传。

ENCTYPE="multipart/form-data"用于表单里有图片上传。
表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。 如下: 上传企业营业执照图片: 就得加ENCTYPE="multipart/form-data"。 表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。 form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的: SmartUpload su = new SmartUpload();//新建一个SmartUpload对象 su.getRequest().getParameterValues();取数组值 su.getRequest().getParameter( );取单个参数单个值 ------------------------------- 解决方法:由于是使用SmartUpload组件解决上传问题的,故使用SmartUpload组件的.getRequest().getParameter("XX")属性就可以获得“学期”的值了(当然一开始并没想到此方法,添加参数这一做法是后来加上去的),代码为:String XX=(String)mySmartUpload.getRequest().getParameter("XX"); PS: 若XX中含有中文时,则会出现乱码现象 处理方法如下:将提交页面的编码方式改为GBK,post后接收的页面的编码方式也改为GBK就OK了 <%@ page contentType="text/html; charset=GBK" language="java" errorPage=""%> 如果还要传递到下一个页面,可以这样解决乱码问题:编码方式可以采用gb2312,然后转一下码,代码如下: String XX=request.getParameter("XX");   XX=new String(XX.getBytes("ISO8859_1"),"GB2312"); 这样就OK了 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值