代码
DiskFileItemFactory diskFileItemFactory = new DiskF ileItem正在讲话就爱玩征途
// 2、创建一个核心的解析类
ServletFileUpload fileUpload = new ServletFileUpload( diskFileItemFactory);
fileUpload. setHeaderEncoding("UTF-8");
// 3、利用核心类解析Request,解析后会得到多个部分,返回一个List集合,装的是每个部分的内容
List<FileItem> list = fileUpload. parseRequest(request);
// 4、 遍历List集合,会得到代表每个部分的文件项的对象,根据文件项判断是否是文件上传项
for(FileItem fileItem : list) {
/ /判断这个文件项是否是普通项,还是文件上传项
if(fileItem. isFormField()) {
/ /普通项
/ /接收普通项的值
String name = fileItem. getF ieldName();/ /获取普通项的名称
/ /获取普通项的值
String value = fileItem. getString("UTF-8");
System. out . println(name + ":" + value);
}else {
//文件上传项
/ /获取文件上传项的文件的名称
String filename = fileItem. getName();
/ /获取文件上传项的文件的数据
InputStream is = fileItem. getInputStream();
/ /获取文件上传的路径:磁盘绝对路径
String realPath = getServletContext(). getRealPath("/upload");
//创建一个输出流, 写入到设置的路径中
OutputStream os = new FileOutputStream(realPath + "/" + filename);
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e. printStackTrace();
}