FileUtils.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package org.springblade.common.utils;
  2. import lombok.SneakyThrows;
  3. import org.springblade.common.vo.FileSize;
  4. import org.springframework.web.multipart.MultipartFile;
  5. import java.io.File;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.net.URL;
  9. import java.net.URLConnection;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. import java.util.Objects;
  13. public class FileUtils {
  14. /**
  15. * 获取文件path
  16. * @param file
  17. * @return
  18. * @throws IOException
  19. */
  20. public static File convert(MultipartFile file) throws IOException {
  21. File convertFile = new File(Objects.requireNonNull(Objects.requireNonNull(file.getOriginalFilename())));
  22. FileOutputStream fos = null;
  23. try {
  24. convertFile.createNewFile();
  25. fos = new FileOutputStream(convertFile);
  26. fos.write(file.getBytes());
  27. } catch (IOException e) {
  28. e.printStackTrace();
  29. } finally {
  30. assert fos != null;
  31. fos.close();
  32. }
  33. return convertFile;
  34. }
  35. //获取文件大小
  36. public static List<FileSize> getOssFileSize(List<String> fileList){
  37. List<FileSize> reData =new ArrayList<>();
  38. if(fileList!=null){
  39. for(String fileUrl:fileList){
  40. FileSize file =new FileSize();
  41. file.setFileUrl(fileUrl);
  42. try {
  43. URLConnection openConnection = new URL(fileUrl).openConnection();
  44. int contentLength = openConnection.getContentLength();
  45. Double fileLength = Double.parseDouble(contentLength+"");
  46. file.setFileSize(Math.ceil(fileLength/1024));
  47. } catch (IOException e) {
  48. e.printStackTrace();
  49. }
  50. reData.add(file);
  51. }
  52. }
  53. return reData;
  54. }
  55. }