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

gggggame 2004-12-04 07:36:14
最近在写一个大文件上传的东西选来选去 用上了org.apache.commons.fileuplad包,现在遇到一个问题请过来人指点一二 ,当一个FORM中有文件 ,文本的时候,我想得到FORM提交上来的非文件时应该怎么取得啊? 一般在commons.fileupload里我们用if (fileItem.isFormField())判断提示上来的FORM里是不是有FILE的东西 但我要怎么才能得到非文件的东西啊
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
YLLi2008 2004-12-29
  • 打赏
  • 举报
回复
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);
}
}
}
gggggame 2004-12-08
  • 打赏
  • 举报
回复
还可以啊 有些用啊 做完这项目自己再用struts.upload试试吧 form还分得清是文件还是非文件了 上面说的也对 还有没有人发言啊 怎么一问点问题真的很少就有回贴的啊 CSDN真的不如以前了
YYSAM 2004-12-05
  • 打赏
  • 举报
回复
不明白,如果你不是要上传文件的话,那form里面的映射类型就不能是FormFile类性的了。处理就麻烦一些了,因为struts标签将上传的那个字符串当作文件处理的路径。如果你要是上传文件的话,可以看看struts自带的例子,struts-upload.war。希望对你有所帮助。
gggggame 2004-12-04
  • 打赏
  • 举报
回复
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值
}


查了下贴子 上面的写法对吧?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧