package com.aojie.controller;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.List;
import java.util.UUID;
/**
* @author aojie
* @Function
* @create 2020-06-06 22:43
*/
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("/fileupload")
public String fileupload1(HttpServletRequest request) throws Exception {
System.out.println("文件上传!");
//使用fileupload组件完成文件上传
//指定上传位置
String path = request.getSession().getServletContext().getRealPath("/uploads");
//判断该路径是否存在
File file = new File(path);
if (!file.exists()){
file.mkdir();
}
System.out.println(path);
//解析request对象,获取上传文件
DiskFileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
//解析request
List<FileItem> list = upload.parseRequest(request);
//遍历
for (FileItem fileItem : list) {
//判断当前item对象是否是上传文件项
if (fileItem.isFormField()) {
//是普通表单项
}else {
//是上传文件项
String name = fileItem.getName();
//把文件名称设置成唯一值
String uuid = UUID.randomUUID().toString().replace("-", "");
name=uuid+"_"+name;
//完成文件上传
fileItem.write(new File(path,name));
//删除临时文件
fileItem.delete();
}
}
return "success";
}
}
原文:https://www.cnblogs.com/aojie/p/13057624.html