文件上传使用FileUpload组件进行代码实现

时间:2023-03-08 22:08:02

使用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));
}
}

相关文章