You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.1 KiB

  1. package com.example.demo.Util;
  2. import org.springframework.web.multipart.MultipartFile;
  3. import java.io.*;
  4. import java.util.UUID;
  5. public class UploadUtil {
  6. /**
  7. * 将文件保存到指定路径
  8. * @return
  9. */
  10. public static String save(MultipartFile file, String path) {
  11. // 验证文件是不是传了
  12. if (file.getSize() <= 0) {
  13. return null;
  14. }
  15. // 验证文件夹是否存在
  16. File pathFile = new File(path);
  17. if (!pathFile.exists()) {
  18. // 创建
  19. if (!pathFile.mkdirs()) {
  20. return null;
  21. }
  22. }
  23. // 生UUID作为新的文件名
  24. String fileName = UUID.randomUUID().toString();
  25. String oldName = file.getOriginalFilename();
  26. if (oldName.lastIndexOf(".")>=0) {
  27. String suffix = oldName.substring(oldName.lastIndexOf("."));
  28. fileName += suffix;
  29. }
  30. // 创建一个文件流
  31. try (OutputStream out = new FileOutputStream(path + fileName) ){
  32. // 把上传的文件,写到这个流里面
  33. out.write(file.getBytes());
  34. // 写成功了
  35. return fileName;
  36. } catch (FileNotFoundException e) {
  37. e.printStackTrace();
  38. } catch (IOException e1) {
  39. e1.printStackTrace();
  40. }
  41. return null;
  42. }
  43. }