FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
来源:互联网 发布:淘宝旧版本4.1.2下载 编辑:程序博客网 时间:2024/05/20 19:15
一 是网上大部分都说的一种做法。 二是此人琢磨出的一种做法。
一. 今天在原来上传文件页面的基础上,想添加一段文件的简介
因为同时要上传文件,所以ENCTYPE="multipart/form-data" 必须要加在form里面
可是这样的话,我再servlet里面用request.getParameter()方法无论如何都只是获得null值,
不是一般的郁闷,百度了一下,有人出现了同样的问题可是它用的是jspsmartupload组件实现文件上传的,
而我用的commons fileupload组件,仔细看了一下这个组件的api,可是英语太差了,没有发现相关的信息
我又尝试用session传递参数,可是发现有点麻烦,因为在表单提交之时你就得赋给session表单上它的数值,
还有一种方法就是使用jspsmartupload表单中enctype="multipart/form-data"的意思,是设置 表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了 multipart/form-data,才能完整的传递文件数据
但是设置了 enctype="multipart/form-data" ,除了file类型表单能获取到,其他value通过request.getParameter都得不到。这种情况下我们可以利用组件来解决该问题,例如用 jspsmartupload组件
com.jspsmart.upload.SmartUpload su = new com.jspsmart.upload.SmartUpload();
su.initialize(pageContext);
su.service(request, response);
su.setTotalMaxFileSize(100000000);
su.setAllowedFilesList("zip,rar");
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
su.upload();
String Name = su.getRequest().getParameter("Name");
String TYPE_ID = su.getRequest().getParameter("Type");
通过 su.getRequest().getParameter("value");就可以了,su.upload()好象必须放在前面,测试中将su.upload()放在获取参数后面不成功。
enctype=/"multipart/form-data/"是上传二进制数据; form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,
取表单值加入数据库时,用到下面的:
SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
su.getRequest().getParameterValues();取数组值
su.getRequest().getParameter( );取单个参数单个值
二.
<form action="${ctx}/upload2.jsp" id="form1" name="form1" encType="multipart/form-data" method="post" target="hidden_frame" onsubmit="return validForm(this)" ><table><tr><td>缩略图:</td><td><img src="" width="80" height="80"/></td><td><input type="hidden" name="type" id="type" value="1"/><input type="file" id="file" name="file" /><INPUT type="submit" value="上传文件"><span id="msg"></span><br/><font color="red">支持JPG,JPEG,GIF,BMP文件的上传</font></td></tr></table> <iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe></form>
<script type="text/javascript"> function validForm(fm){ fm.action = fm.action + "?type=" + fm['type'].value; return true; }</script>
这样也可以将值传过去。
- FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
- FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
- FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的问题
- struts中enctype="multipart/form-data",request.getParameter("file") 是null的问题分
- struts中enctype="multipart/form-data",request.getParameter("file") 是null的问题分
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法 ?
- 表单提交 enctype="multipart/form-data"的时候 request.getparameter取值为空的问题
- FORM的ENCTYPE="multipart/form-data" request.getParameter()获取不到值
- 当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到
- struts中post方式上传文件,enctype="multipart/form-data",request.getParameter("file") 是null的问题分析
- form表单-request得不到值为null-以及Enctype=multipart/form-data介绍
- struts2开发环境中,enctype="multipart/form-data"上传文件时,request.getInputStream()为null的原因
- Camera最新资料大全
- Oracle 等待事件
- 如何搭建个人网站
- 内存监控软件Eclipse Memory Analyzer
- A10 android4.0 adb push一些小文件的路径
- FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
- 第70章、初识Intent-打开另一个Activity:双向传值(从零开始学Android)
- JS自定义属性的设置与获取
- corelpainter12 imac版 注册码
- Linux Shell 命令
- Infragistics-UltraGrid-获取筛选条件
- test
- QT/E中的字体
- iPhone开发之 ARC是什么