Class UploadMinioService

java.lang.Object
com.bytedesk.core.upload.minio.UploadMinioService

@Component @ConditionalOnProperty(name="bytedesk.minio.enabled", havingValue="true", matchIfMissing=false) public class UploadMinioService extends Object
MinIO 对象存储服务 用于将图片、音频、视频等文件存储到 MinIO
Author:
bytedesk.com
  • Field Details

    • bytedeskProperties

      @Autowired private BytedeskProperties bytedeskProperties
    • minioClient

      @Autowired private io.minio.MinioClient minioClient
  • Constructor Details

    • UploadMinioService

      public UploadMinioService()
  • Method Details

    • initMinio

      @PostConstruct public void initMinio()
      初始化 MinIO 存储桶和策略
    • uploadFile

      public String uploadFile(org.springframework.web.multipart.MultipartFile file, String fileName, String folder)
      上传文件到 MinIO
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      folder - 文件夹路径
      Returns:
      文件访问URL
    • uploadFile

      public String uploadFile(File localFile, String fileName, String folder)
      上传本地文件到 MinIO
      Parameters:
      localFile - 本地文件
      fileName - 文件名
      folder - 文件夹路径
      Returns:
      文件访问URL
    • uploadFromUrl

      public String uploadFromUrl(String url, String fileName, String folder)
      从 URL 下载并上传到 MinIO
      Parameters:
      url - 文件URL
      fileName - 文件名
      folder - 文件夹路径
      Returns:
      文件访问URL
    • uploadImage

      public String uploadImage(org.springframework.web.multipart.MultipartFile file, String fileName)
      上传图片文件
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      Returns:
      文件访问URL
    • uploadAudio

      public String uploadAudio(org.springframework.web.multipart.MultipartFile file, String fileName)
      上传音频文件
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      Returns:
      文件访问URL
    • uploadVideo

      public String uploadVideo(org.springframework.web.multipart.MultipartFile file, String fileName)
      上传视频文件
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      Returns:
      文件访问URL
    • uploadDocument

      public String uploadDocument(org.springframework.web.multipart.MultipartFile file, String fileName)
      上传文档文件
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      Returns:
      文件访问URL
    • uploadAvatar

      public String uploadAvatar(org.springframework.web.multipart.MultipartFile file, String fileName)
      上传头像文件
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      Returns:
      文件访问URL
    • uploadAttachment

      public String uploadAttachment(org.springframework.web.multipart.MultipartFile file, String fileName)
      上传附件文件
      Parameters:
      file - MultipartFile 文件
      fileName - 文件名
      Returns:
      文件访问URL
    • deleteFile

      public void deleteFile(String objectPath)
      删除文件
      Parameters:
      objectPath - 对象路径
    • fileExists

      public boolean fileExists(String objectPath)
      检查文件是否存在
      Parameters:
      objectPath - 对象路径
      Returns:
      是否存在
    • getDownloadUrl

      public String getDownloadUrl(String objectPath, int expiry)
      获取文件下载URL(预签名URL)
      Parameters:
      objectPath - 对象路径
      expiry - 过期时间(秒)
      Returns:
      预签名URL
    • getUploadUrl

      public String getUploadUrl(String objectPath, int expiry)
      获取文件上传URL(预签名URL)
      Parameters:
      objectPath - 对象路径
      expiry - 过期时间(秒)
      Returns:
      预签名URL
    • getFileUrl

      private String getFileUrl(String objectPath)
      获取文件访问URL
      Parameters:
      objectPath - 对象路径
      Returns:
      文件访问URL
    • getContentType

      private String getContentType(String fileName)
      根据文件扩展名获取内容类型
      Parameters:
      fileName - 文件名
      Returns:
      内容类型