Browse Source

Fix 初始化分块的 object_name

tsurumure 3 tháng trước cách đây
mục cha
commit
011507bbef

+ 1 - 1
src/main/java/com/backendsys/modules/sdk/douyincloud/tos/service/DouyinTosService.java

@@ -25,7 +25,7 @@ public interface DouyinTosService {
 
 
     // [抖音云TOS] 初始化分块上传
-    CreateMultipartUploadOutput initiateMultipartUpload(String filename);
+    CreateMultipartUploadOutput initiateMultipartUpload(String object_name);
     // [抖音云TOS] 上传分块
     UploadPartV2Output uploadPart(MultipartFile multipartFile, String upload_id, String object_key, Integer partNumber);
     // [抖音云TOS] 完成分块上传

+ 2 - 2
src/main/java/com/backendsys/modules/sdk/douyincloud/tos/service/impl/DouyinTosServiceImpl.java

@@ -202,12 +202,12 @@ public class DouyinTosServiceImpl implements DouyinTosService {
      * [抖音云TOS] 初始化分块上传
      */
     @Override
-    public CreateMultipartUploadOutput initiateMultipartUpload(String filename) {
+    public CreateMultipartUploadOutput initiateMultipartUpload(String object_name) {
         TOSV2 tos = new TOSV2ClientBuilder().build(REGION, ENDPOINT, ACCESS_KEY_ID, SECRET_ACCESS_KEY);
         try {
 
             // 使用临时文件夹 (/temp) + UUID文件名
-            String object_key = "temp/" + filename;
+            String object_key = "temp/" + object_name;
             System.out.println("InitiateMultipartUpload object: " + object_key);
 
             // 初始化分片上传

+ 5 - 2
src/main/java/com/backendsys/modules/upload/service/impl/SysFileMultipartServiceImpl.java

@@ -3,7 +3,9 @@ package com.backendsys.modules.upload.service.impl;
 import cn.hutool.core.codec.Base64;
 import cn.hutool.core.convert.Convert;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.io.file.FileNameUtil;
+import cn.hutool.core.lang.UUID;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.digest.DigestUtil;
 import com.backendsys.exception.CustException;
@@ -104,16 +106,17 @@ public class SysFileMultipartServiceImpl implements SysFileMultipartService {
 
         String upload_id = null;
         String object_key = null;
+        String object_name = Convert.toStr(UUID.randomUUID()) + FileUtil.extName(multipartUploadParams.getFilename());
 
         // target: 上传目标 (-1:本地, 1:腾讯云, 2:阿里云, 3.抖音云)
         if (target == 1) {
-            InitiateMultipartUploadResult uploadResult = tencentCosService.initiateMultipartUpload(multipartUploadParams.getFilename());
+            InitiateMultipartUploadResult uploadResult = tencentCosService.initiateMultipartUpload(object_name);
             upload_id = uploadResult.getUploadId();
             object_key = uploadResult.getKey();
         }
         // 3: 抖音云
         if (target == 3) {
-            CreateMultipartUploadOutput uploadResult = douyinTosService.initiateMultipartUpload(multipartUploadParams.getFilename());
+            CreateMultipartUploadOutput uploadResult = douyinTosService.initiateMultipartUpload(object_name);
             upload_id = uploadResult.getUploadID();
             object_key = uploadResult.getKey();
         }