liusuyi
2025-11-18 5c2f353bfdaea493f043ea021c742f1b93bae46c
ard-oss/src/main/java/com/ard/oss/service/impl/OssServiceContext.java
@@ -12,6 +12,7 @@
import io.minio.PutObjectArgs;
import lombok.Cleanup;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile;
@@ -167,7 +168,22 @@
            throw new RuntimeException("Upload failed: " + e.getMessage(), e);
        }
    }
    @Async("threadPoolTaskExecutor")
    public String upload(String bucket, String objectKey, InputStream input, String contentType) {
        try {
            // 上传文件时指定 Content-Type
            this.ossService.putObject(bucket, objectKey, input, contentType);
            // ✅ 构建永久访问 URL
            String baseUrl = OssConfiguration.endpoint;
            if (!baseUrl.endsWith("/")) {
                baseUrl += "/";
            }
            return baseUrl + bucket + "/" + objectKey;
        } catch (Exception e) {
            throw new RuntimeException("Upload failed: " + e.getMessage(), e);
        }
    }
    // 获取文件 MIME 类型
    public String getMimeTypeByExtension(String fileName) {
        // 获取文件扩展名