使用FileUpload组件进行代码实现
实现步骤
1. 获取解析器工厂: DiskFileItemFactory
2. 获取解析器对象: ServletFileUpload
3. 解析request: public java.util.List<FileItem> parseRequest(javax.servlet.http.HttpServletRequest request)
4. 遍历这个List集合获取每一个表单项,然后在进行其他操作
// 获取解析器工厂 DiskFileItemFactory factory = new DiskFileItemFactory() ; // 获取解析器 ServletFileUpload sfu = new ServletFileUpload(factory) ; // 解析request List<FileItem> list = sfu.parseRequest(request) // 遍历这个List集合 for(FileItem fi : list) { if(fi.isFormField()) { // 普通表单项 String fieldName = fi.getFieldName() ; String value = fi.getString("utf-8") ; System.out.println(fieldName + "----" + value); }else { // 获取上传文件的名称 String name = fi.getName() ; name = name.substring(name.lastIndexOf("\") + 1) ; name = UUIDUtil.getId() + "_" + name ; String path = getServletContext().getRealPath("/images/" + name) ; fi.write(new File(path));
}
}