实现简单文件的上传
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload sfu = new ServletFileUpload(factory);
sfu.setFileSizeMax(1024 * 1024 * 2);
try {
List<FileItem> items = sfu.parseRequest(request);
for (FileItem item : items) {
if (item.isFormField()) {
System.out.println(item.getFieldName() + "---" + item.getString("UTF-8"));
} else {
System.out.println("文件名:" + item.getName());
System.out.println("文件类型:" + item.getContentType());
System.out.println("文件大小:" + item.getSize());
System.out.println("文件内容:" + item.getString());
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String dateStr = sdf.format(new Date());
String path = request.getServletContext().getRealPath("upload/" + dateStr);
System.out.println("保存文件的路径:" + path);
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
} else {
System.out.println("文件夹已经存在");
}
String suffix = item.getName().split("\\.")[1];
String fileName = UUID.randomUUID().toString() + "." + suffix;
System.out.println("保存的文件名:" + fileName);
String fileSavePath = path + "\\" + fileName;
System.out.println("保存文件完整路径:" + fileSavePath);
item.write(new File(fileSavePath));
}
}
} catch (Exception e) {
e.printStackTrace();
}