UploadController.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package com.uas.search.controller;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.slf4j.Logger;
  6. import org.slf4j.LoggerFactory;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.ResponseBody;
  10. import org.springframework.web.multipart.MultipartFile;
  11. @Controller
  12. @RequestMapping("/upload")
  13. public class UploadController {
  14. private static final String UPLOAD_DIR = System.getProperty("java.io.tmpdir");
  15. private static Logger logger = LoggerFactory.getLogger(UploadController.class);
  16. @RequestMapping
  17. @ResponseBody
  18. public String upload(MultipartFile file, HttpServletRequest request) {
  19. String message = "";
  20. if (file == null || file.isEmpty()) {
  21. message = "文件为空,无法进行上传!";
  22. logger.error(message);
  23. return message;
  24. }
  25. String fileName = file.getOriginalFilename();
  26. String targetFilePath = (UPLOAD_DIR.endsWith(File.separator) ? UPLOAD_DIR : UPLOAD_DIR + "/") + fileName;
  27. File targetFile = new File(targetFilePath);
  28. if (!targetFile.getParentFile().exists()) {
  29. targetFile.getParentFile().mkdirs();
  30. }
  31. try {
  32. file.transferTo(targetFile);
  33. message = "成功上传文件至 :" + targetFile.getCanonicalPath();
  34. logger.info(message);
  35. return message;
  36. } catch (IllegalStateException | IOException e) {
  37. logger.error("", e);
  38. }
  39. message = "上传文件失败: " + fileName;
  40. logger.error(message);
  41. return message;
  42. }
  43. }