MinioSysFileServiceImpl.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package com.ruoyi.file.service;
  2. import org.springframework.beans.factory.annotation.Autowired;
  3. import org.springframework.stereotype.Service;
  4. import org.springframework.web.multipart.MultipartFile;
  5. import com.ruoyi.file.config.MinioConfig;
  6. import com.ruoyi.file.utils.FileUploadUtils;
  7. import io.minio.MinioClient;
  8. import io.minio.PutObjectArgs;
  9. /**
  10. * Minio 文件存储
  11. *
  12. * @author ruoyi
  13. */
  14. @Service
  15. public class MinioSysFileServiceImpl implements ISysFileService
  16. {
  17. @Autowired
  18. private MinioConfig minioConfig;
  19. @Autowired
  20. private MinioClient client;
  21. /**
  22. * 本地文件上传接口
  23. *
  24. * @param file 上传的文件
  25. * @return 访问地址
  26. * @throws Exception
  27. */
  28. @Override
  29. public String uploadFile(MultipartFile file) throws Exception
  30. {
  31. String fileName = FileUploadUtils.extractFilename(file);
  32. PutObjectArgs args = PutObjectArgs.builder()
  33. .bucket(minioConfig.getBucketName())
  34. .object(fileName)
  35. .stream(file.getInputStream(), file.getSize(), -1)
  36. .contentType(file.getContentType())
  37. .build();
  38. client.putObject(args);
  39. return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName;
  40. }
  41. }