From 206c1338ae6f5100cb408fb02a2095e211c0521f Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 22 九月 2025 16:51:03 +0800
Subject: [PATCH] 资产入库联调修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OssServiceImpl.java |   49 +++++++++++++++++++++++++++----------------------
 1 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OssServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OssServiceImpl.java
index 2d53aea..3bb8466 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OssServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OssServiceImpl.java
@@ -63,30 +63,35 @@
      */
     @Override
     public String upload(String storagePath, MultipartFile file) throws IOException {
-        CredentialsProvider credentialsProvider = new DefaultCredentialProvider(OssConfig.ACCESS_KEY_ID, OssConfig.ACCESS_KEY_SECRET);
-        String region = "cn-chengdu";
-        // 创建OSSClient实例。
-        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
-        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
-        OSS ossClient = OSSClientBuilder.create()
-                .endpoint(OssConfig.UPLOAD_ENDPOINT)
-                .credentialsProvider(credentialsProvider)
-                .clientConfiguration(clientBuilderConfiguration)
-                .region(region)
-                .build();
-        InputStream inputStream = file.getInputStream();
+        OSS ossClient = null;
+        try {
+            CredentialsProvider credentialsProvider = new DefaultCredentialProvider(OssConfig.ACCESS_KEY_ID, OssConfig.ACCESS_KEY_SECRET);
+            String region = "cn-chengdu";
+            // 创建OSSClient实例。
+            ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
+            clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
+            ossClient = OSSClientBuilder.create()
+                    .endpoint(OssConfig.UPLOAD_ENDPOINT)
+                    .credentialsProvider(credentialsProvider)
+                    .clientConfiguration(clientBuilderConfiguration)
+                    .region(region)
+                    .build();
+            InputStream inputStream = file.getInputStream();
 
-        String originFileName = file.getOriginalFilename();
-        String fileExt = Objects.requireNonNull(originFileName).substring(originFileName.lastIndexOf(".") + 1);
-        String fileName = originFileName.substring(0, originFileName.lastIndexOf("."));
-        // 设置文件名
-        String filePathName = generateRelativeStoragePath(storagePath, fileExt, fileName);
-        // 创建PutObjectRequest对象。
-        PutObjectRequest putObjectRequest = new PutObjectRequest(OssConfig.BUCKET_NAME, filePathName, inputStream);
-        // 创建PutObject请求。
-        PutObjectResult result = ossClient.putObject(putObjectRequest);
+            String originFileName = file.getOriginalFilename();
+            String fileExt = Objects.requireNonNull(originFileName).substring(originFileName.lastIndexOf(".") + 1);
+            String fileName = originFileName.substring(0, originFileName.lastIndexOf("."));
+            // 设置文件名
+            String filePathName = generateRelativeStoragePath(storagePath, fileExt, fileName);
+            // 创建PutObjectRequest对象。
+            PutObjectRequest putObjectRequest = new PutObjectRequest(OssConfig.BUCKET_NAME, filePathName, inputStream);
+            // 创建PutObject请求。
+            PutObjectResult result = ossClient.putObject(putObjectRequest);
 
-        return OssConfig.DOWNLOAD_ENDPOINT + filePathName;
+            return OssConfig.DOWNLOAD_ENDPOINT + filePathName;
+        } finally {
+            ossClient.shutdown();
+        }
     }
     
     /**

--
Gitblit v1.7.1