若表单含有上传图片时
标签:filename substring 兴趣爱好 for sys multipart post tin 集合
需改变form中的enctype="multipart/form-data"和提交方式必须为"post"
form action="/reg_login/RegistServlet" method="post" enctype="multipart/form-data">
数据的接收:
// 定义一个Map集合用于保存接收到的数据:
Map map = new HashMap();
// 1.创建一个磁盘文件项工厂对象
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
// 2.创建一个核心解析类
ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
// 3.解析request请求,返回的是List集合,List集合中存放的是FileItem对象
List list = servletFileUpload.parseRequest(request);
// 定义一个List集合,用于保存兴趣爱好数据:
List hobbyList = new ArrayList();
// 4.遍历集合,获得每个FileItem,判断是表单项还是文件上传项
String url = null;
for (FileItem fileItem : list) {
// 判断是表单项还是文件上传项
if(fileItem.isFormField()){
// 普通表单项:
// 接收表单项参数的值:
String name = fileItem.getFieldName(); // 获得表单项的name属性的值
String value = fileItem.getString("UTF-8");// 获得表单项的值
System.out.println(name+" "+value);
// 接收复选框的数据
if("hobby".equals(name)){
String hobbyValue = fileItem.getString("UTF-8");
// 接收到一个值,将这个值存入到hobbyList集合中
hobbyList.add(hobbyValue);
hobbyValue = hobbyList.toString().substring(1, hobbyList.toString().length()-1); // xxx,yyy
System.out.println(name+" "+hobbyValue);
// 将爱好的数据存入到Map集合中:
map.put(name, hobbyValue);
}else{
// 将数据存入到map集合中:
map.put(name, value);
}
}else{
// 文件上传项:
// 文件上传功能:
// 获得文件上传的名称:
String fileName = fileItem.getName();
if(fileName !=null && !"".equals(fileName)){
// 通过工具类获得唯一文件名:
String uuidFileName = UploadUtils.getUUIDFileName(fileName);
// 获得文件上传的数据:
InputStream is = fileItem.getInputStream();
// 获得文件上传的路径:
String path = this.getServletContext().getRealPath("/upload");
// 将输入流对接到输出流就可以了:
url = path+"\\"+uuidFileName;
OutputStream os = new FileOutputStream(url);
int len = 0;
byte[] b = new byte[1024];
while((len = is.read(b))!=-1){
os.write(b, 0, len);
}
is.close();
os.close();
}
}
}
若表单含有上传图片时
标签:filename substring 兴趣爱好 for sys multipart post tin 集合
原文地址:https://www.cnblogs.com/shouyaya/p/12014165.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
若表单含有上传图片时
文章链接:http://soscw.com/index.php/essay/84415.html
评论