CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

org.apache.commons.fileupload 应用时FORM 怎么提得非文件的值?

楼主gggggame(小刀)2004-12-04 19:36:14 在 Java / 框架、开源 提问

最近在写一个大文件上传的东西选来选去   用上了org.apache.commons.fileuplad包,现在遇到一个问题请过来人指点一二   ,当一个FORM中有文件   ,文本的时候,我想得到FORM提交上来的非文件时应该怎么取得啊?     一般在commons.fileupload里我们用if   (fileItem.isFormField())判断提示上来的FORM里是不是有FILE的东西   但我要怎么才能得到非文件的东西啊 问题点数:100、回复次数:4Top

1 楼gggggame(小刀)回复于 2004-12-04 20:08:14 得分 0

FileItem   fi   =   (FileItem)   it.next();  
            if   (!fi.isFormField())   {//忽略file类型以外的form类型元素(诸如text)  
                      //是html的file元素,这里处理  
            }  
            else   {//html页面除file之外的其它元素,在这里处理  
                      String   fieldName   =   fi.getFieldName();  
                      System.out.println("The   form   field   name   is   :"   +   fieldName);  
                      if   (fieldName   !=   null   &&   fieldName.trim().equals("fileDec"))   {  
                                  String   fileDec   =   fi.getString();//通过getString得到元素的value值  
                      }  
   
   
  查了下贴子   上面的写法对吧?  
  Top

2 楼YYSAM(悠~游~)回复于 2004-12-05 11:45:23 得分 70

不明白,如果你不是要上传文件的话,那form里面的映射类型就不能是FormFile类性的了。处理就麻烦一些了,因为struts标签将上传的那个字符串当作文件处理的路径。如果你要是上传文件的话,可以看看struts自带的例子,struts-upload.war。希望对你有所帮助。Top

3 楼gggggame(小刀)回复于 2004-12-08 23:42:32 得分 0

还可以啊   有些用啊     做完这项目自己再用struts.upload试试吧   form还分得清是文件还是非文件了   上面说的也对     还有没有人发言啊   怎么一问点问题真的很少就有回贴的啊   CSDN真的不如以前了Top

4 楼YLLi2008(天空之城)回复于 2004-12-29 18:02:51 得分 30

String   field   =   "";  
  Iterator   iter   =   fileItems.iterator();  
  while   (iter.hasNext())  
  {  
  FileItem   item   =   (FileItem)   iter.next();  
   
  if   (item.isFormField())  
  {  
  if   (item.getFieldName().equals("field"))  
  {  
  field   =   item.getString("GBK");  
  }  
  }  
  else  
  {  
  String   name   =   item.getName();  
  long   size   =   item.getSize();  
  if((name==null   ||   name.equals(""))   &&   size==0)  
  {  
  continue;  
  }  
  Pattern   p   =   Pattern.compile(".+\\\\(.+)$");  
  Matcher   m   =   p.matcher(name);  
  if(m.find())  
  {  
  //获取文件名(包括扩展名)  
  name   =   m.group(1);  
   
  //检查文件类型  
  if   (!m.group(1).toLowerCase().endsWith("jpg"))  
  {  
  %>  
  <script>alert("请上传jpg图片!");history.back();</script>  
  <%  
  return;  
  }  
   
  }  
  //保存上传的文件到指定的目录  
  try  
  {  
  item.write(new   File(path   +   "upload_test/"   +   name));  
  }  
  catch(Exception   e)  
  {  
  out.println(e);  
  }  
  }  
  }Top

相关问题

  • java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
  • 用hibernate+esclipse抛出java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory?
  • apache?
  • apache
  • 急,commons-fileupload 上传文件的问题!
  • commons-fileupload上传图片,图片花花的问题
  • 关于commons - fileUpload上传组件的问题
  • 在struts中用commons-fileupload中到底该怎么写,
  • 大家有没有用commons-fileupload遇到过这样的问题???!!!
  • 在JBuilder X中如何安装上传组件commons Fileupload

关键词

  • 文件
  • commons
  • struts
  • fileitem
  • isformfield
  • fieldname
  • 元素
  • 类型
  • fi
  • 处理

得分解答快速导航

  • 帖主:gggggame
  • YYSAM
  • YLLi2008

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo