@RequestMapping(value = "/uploadStateImgs", method = RequestMethod.POST)
@ResponseBody
public String upload(HttpServletResponse response,
HttpServletRequest request) throws IOException {
String responseStr = ""; // 上传之后返回字符串
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); // 获得多文件
// 文件保存路径 ctxPath本地路径
HttpSession session = request.getSession();// 获得当前会话
User currentUser = (User) session.getAttribute("currentUser");// 获得当前登陆用户
if (currentUser == null) {
return "";
} else {
// 动态发表图片上传根路径
String ctxPath = session.getServletContext().getRealPath("/../imgs/yyw/stateimgs/") +"/"+ currentUser.getId();
// String ctxPath = "/yywres/stateimgs/" + currentUser.getId();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); // 年月为一个动态保存目录
// 分割
String ymd = sdf.format(new Date());
ctxPath += File.separator + ymd + File.separator;
System.out.println("ctxpath=" + ctxPath);
// 创建文件夹
File file = new File(ctxPath);
if (!file.exists()) {
file.mkdirs();
}
String fileName = null;
List<String> imgUrls = new ArrayList<>(); //一条动态中所有图片路径集合
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 上传文件
MultipartFile mf = entity.getValue();
String originalFileName = mf.getOriginalFilename();
fileName = new Date().getTime()+originalFileName.substring(originalFileName.lastIndexOf("."));// 获取原文件名
System.out.println("filename=" + fileName);
File uploadFile = new File(ctxPath + fileName);
try {
FileCopyUtils.copy(mf.getBytes(), uploadFile);
responseStr = "上传成功";
imgUrls.add(uploadFile.getAbsolutePath());
} catch (IOException e) {
responseStr = "s上传失败";
e.printStackTrace();
}
}
String urls = "";
for(String url: imgUrls){ //拼接路径
urls = urls + url +"&";
}
urls= urls.substring(0,urls.length()-1);
return urls;
}
}
Springmvc文件上传
最新推荐文章于 2022-02-18 17:54:24 发布