1.DiskFileItemFactory diskFileItemFactory = new DiskF ileItem
// 2、創(chuàng)建一個核心的解析類
ServletFileUpload fileUpload = new ServletFileUpload( diskFileItemFactory);
fileUpload. setHeaderEncoding("UTF-8");
// 3露乏、利用核心類解析Request,解析后會得到多個部分粪般,返回一個List集合,裝的是每個部分的內(nèi)容
List<FileItem> list = fileUpload. parseRequest(request);
// 4必尼、 遍歷List集合屈尼,會得到代表每個部分的文件項(xiàng)的對象炊汹,根據(jù)文件項(xiàng)判斷是否是文件上傳項(xiàng)
for(FileItem fileItem : list) {
/ /判斷這個文件項(xiàng)是否是普通項(xiàng)躬充,還是文件上傳項(xiàng)
if(fileItem. isFormField()) {
/ /普通項(xiàng)
/ /接收普通項(xiàng)的值
String name = fileItem. getF ieldName();/ /獲取普通項(xiàng)的名稱
/ /獲取普通項(xiàng)的值
String value = fileItem. getString("UTF-8");
System. out . println(name + ":" + value);
}else {
//文件上傳項(xiàng)
/ /獲取文件上傳項(xiàng)的文件的名稱
String filename = fileItem. getName();
/ /獲取文件上傳項(xiàng)的文件的數(shù)據(jù)
InputStream is = fileItem. getInputStream();
/ /獲取文件上傳的路徑:磁盤絕對路徑
String realPath = getServletContext(). getRealPath("/upload");
//創(chuàng)建一個輸出流, 寫入到設(shè)置的路徑中
OutputStream os = new FileOutputStream(realPath + "/" + filename);
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e. printStackTrace();
}