A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 于启会 中级黑马   /  2012-8-5 22:52  /  1525 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 于启会 于 2012-8-6 20:34 编辑

添加了上传属性之后,在servlet中用request.getParameter("")接收表单中的参数值为空。请问怎么解决?

1 个回复

倒序浏览
  1. //创建SmartUpload对象
  2.                         SmartUpload mySmartUpload = new SmartUpload();
  3.                         try{
  4.                                 //上传初始化
  5.                                 mySmartUpload.initialize(config, request, response);
  6.                                 //设置每个上传文件的最大长度
  7.                                 mySmartUpload.setMaxFileSize(1024*1024*3);
  8.                                 //设置总上传数据的长度
  9.                                 mySmartUpload.setTotalMaxFileSize(1024*1024*50);
  10.                                 //设置允许上传的文件类型,只允许上传.jpg,.gif,.png文件
  11.                                 mySmartUpload.setAllowedFilesList("jpg,gif,png");
  12.                                 //设置禁止上传的文件类型,禁止上传带有exe,bat的文件
  13.                                 mySmartUpload.setDeniedFilesList("exe,bat,txt,sql");
  14.                                 //上传文件
  15.                                 mySmartUpload.upload();
  16.                                 //将上传文件保存到指定目录
  17.                                 int count=mySmartUpload.save("image\\");
  18.                                 out.println(//利用request对象获取参数之值
  19.                                 mySmartUpload.getRequest().getParameter("paramete")+" "               
  20.                                 );
  21.                                 //显示处理结果
  22.                                 out.println("<font color=red>"+count+"</font>&nbsp;File Upload!<br>");
  23.                                 //处理每个上传文件
  24.                                 for(int i=0;i<mySmartUpload.getFiles().getCount();i++){
  25.                                         File file=mySmartUpload.getFiles().getFile(i);
  26.                                         //判断用户是否选择了文件
  27.                                         if(!file.isMissing()){
  28.                                                 //打印文件名
  29.                                                 out.println("文件名:&nbsp;<font color=red>"
  30.                                                 +file.getFileName()+"</font><br>"               
  31.                                                 );
  32.                                                 //打印文件扩展名
  33.                                                 out.println("File ExtName:<font color=red>"
  34.                                                 +file.getFileExt()+"</font><br>"               
  35.                                                 );
  36.                                                 //打印文件路径,包括目录
  37.                                                  out.println("Path:&nbsp;<font color=red>"
  38.                                                  +file.getFilePathName()+"</font><br>");
  39.                                                
  40.                                                  out.println("<img src=image\\"+file.getFileName()+">");
  41.                                                  //保存到项目根目录下
  42.                                                  file.saveAs("image\\"+file.getFileName(),
  43.                                                  mySmartUpload.SAVE_PHYSICAL);
  44.                                                
  45.                                         }
  46.                                 }
  47.                         }catch (Exception e) {
  48.                                 // TODO: handle exception
  49.                         }
  50.                                                    //获取jsp页面标签"name"的value值
  51.                         String nmae=mySmartUpload.getRequest().getParameter("name");
  52.                         System.out.println("name:"+nmae);
复制代码
问题终于找到了。。
用的是SmartUpload组件上传的。添加了enctype="multipart/form-data"之后,action的传值编码格式改变,只支持文件上传的编码。就不能使用request.getParameter()方法进行获取value值了。使用SmartUpload组件的request.getParameter();就能接收到参数的value值了,但是必须在文件上传之后执行,否则还是会为空。
只有在文件上传之后,获取参数成功
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马