日期:2014-05-19  浏览次数:20968 次

怎样将上传的图片文件和表单其它数据一起提交
一个表单中除了要提交选择上传的图片,还要提交其它数据
  比如要获取一个人的姓名,年龄…… 加上选择的上传图片
  我用的是SmartUpload组件,在表单中非得加上 ENCTYPE="multipart/form-data" 属性
  不加图片上传不了,加了,其它数据有获取不到,所以,有大虾能帮忙解决一下

------解决方案--------------------
可以引用commons-fileupload包
在Servlet中这样使用:

DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload diskFileUpload = new ServletFileUpload(factory);

// 定义一个HashMap,存放请求参数
Map<String, String> parameters = new HashMap<String, String>();

// 得到所有的文件,以及其它请求参数:
List<?> fileItems = diskFileUpload.parseRequest(request);
Iterator<?> i = fileItems.iterator();

// 依次处理每一个文件,以及请求参数:
while (i.hasNext()) {
FileItem fi = (FileItem) i.next();
// 如果是文件,进行上传操作
if (!fi.isFormField()) {
......
}else{
// 如果是请求参数
String name = fi.getFieldName();
String value = fi.getString();
......
}
}
------解决方案--------------------
可以提交表单的啊~这个不影响~
你得不到表单信息仔细看看是不是哪里错了