- //创建SmartUpload对象
- SmartUpload mySmartUpload = new SmartUpload();
- try{
- //上传初始化
- mySmartUpload.initialize(config, request, response);
- //设置每个上传文件的最大长度
- mySmartUpload.setMaxFileSize(1024*1024*3);
- //设置总上传数据的长度
- mySmartUpload.setTotalMaxFileSize(1024*1024*50);
- //设置允许上传的文件类型,只允许上传.jpg,.gif,.png文件
- mySmartUpload.setAllowedFilesList("jpg,gif,png");
- //设置禁止上传的文件类型,禁止上传带有exe,bat的文件
- mySmartUpload.setDeniedFilesList("exe,bat,txt,sql");
- //上传文件
- mySmartUpload.upload();
- //将上传文件保存到指定目录
- int count=mySmartUpload.save("image\\");
- out.println(//利用request对象获取参数之值
- mySmartUpload.getRequest().getParameter("paramete")+" "
- );
- //显示处理结果
- out.println("<font color=red>"+count+"</font> File Upload!<br>");
- //处理每个上传文件
- for(int i=0;i<mySmartUpload.getFiles().getCount();i++){
- File file=mySmartUpload.getFiles().getFile(i);
- //判断用户是否选择了文件
- if(!file.isMissing()){
- //打印文件名
- out.println("文件名: <font color=red>"
- +file.getFileName()+"</font><br>"
- );
- //打印文件扩展名
- out.println("File ExtName:<font color=red>"
- +file.getFileExt()+"</font><br>"
- );
- //打印文件路径,包括目录
- out.println("Path: <font color=red>"
- +file.getFilePathName()+"</font><br>");
-
- out.println("<img src=image\\"+file.getFileName()+">");
- //保存到项目根目录下
- file.saveAs("image\\"+file.getFileName(),
- mySmartUpload.SAVE_PHYSICAL);
-
- }
- }
- }catch (Exception e) {
- // TODO: handle exception
- }
- //获取jsp页面标签"name"的value值
- String nmae=mySmartUpload.getRequest().getParameter("name");
- System.out.println("name:"+nmae);
复制代码 问题终于找到了。。
用的是SmartUpload组件上传的。添加了enctype="multipart/form-data"之后,action的传值编码格式改变,只支持文件上传的编码。就不能使用request.getParameter()方法进行获取value值了。使用SmartUpload组件的request.getParameter();就能接收到参数的value值了,但是必须在文件上传之后执行,否则还是会为空。
只有在文件上传之后,获取参数成功 |