Javaweb文件上传
保存位置
用input上传文件的核心代码
if(ServletFileUpload.isMultipartContent(req)){
//创建FileItem工厂实现类
FileItemFactory factory=new DiskFileItemFactory();
//创建用于解析上传数据的工具类
ServletFileUpload servletFileUpload=new ServletFileUpload(factory);
//解析上传的数据,获得每一个表单项FileItem
try {
List<FileItem> list= servletFileUpload.parseRequest(req);
//循环判断,每一个表单项是普通类型,还是上传的文件
for(FileItem fileItem:list){
if(fileItem.isFormField()){
//普通表单项
System.out.println("表单项的name属性值:"+fileItem.getFieldName());
//utf-8解决中文乱码问题
System.out.println("表单项的name的value值:"+fileItem.getString("UTF-8"));
}else{
//文件
System.out.println("表单项的name属性值:"+fileItem.getFieldName());
System.out.println("上传的文件名:"+fileItem.getName());
String path=req.getSession().getServletContext().getRealPath("/");
fileItem.write(new File(path+"data/"+fileItem.getName()));
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}