lyhzzz 6 月之前
父節點
當前提交
b46b827a97
共有 1 個文件被更改,包括 8 次插入0 次删除
  1. 8 0
      src/main/java/com/fdkankan/fusion/controller/UploadController.java

+ 8 - 0
src/main/java/com/fdkankan/fusion/controller/UploadController.java

@@ -1,6 +1,7 @@
 package com.fdkankan.fusion.controller;
 
 import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.log.Log;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.fusion.common.FilePath;
 import com.fdkankan.fusion.common.ResultCode;
@@ -14,6 +15,7 @@ import com.fdkankan.fusion.service.IUploadChunkService;
 import com.fdkankan.fusion.service.IUploadSceneService;
 import com.fdkankan.fusion.service.impl.UploadService;
 import com.fdkankan.redis.util.RedisUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +30,7 @@ import java.util.Map;
 
 @RestController
 @RequestMapping("/upload")
+@Slf4j
 public class UploadController extends BaseController{
 
     @Autowired
@@ -114,6 +117,11 @@ public class UploadController extends BaseController{
 
         if(!MinIoChunkUtils.isObjectExist(MinIoChunkUtils.chunkBucKet,uploadChunk.getFilePath()) && uploadChunk.getChunkCount() >1 ){
             List<String> chunks = MinIoChunkUtils.listChunkObjectNames(MinIoChunkUtils.chunkBucKet,uploadChunk.getFileMd5());
+            if(chunks.size() != uploadChunk.getChunkCount()){
+                log.info("合并失败分片数量不对:{},{},{}",uploadChunk.getFileMd5(),uploadChunk.getChunkCount(),chunks.size());
+                throw new BusinessException(ResultCode.COMPOSE_FILE_ERROR);
+            }
+
             if(!MinIoChunkUtils.composeObject(MinIoChunkUtils.chunkBucKet,chunks,uploadChunk.getFilePath())){
                 //String url = MinIoChunkUtils.getObjectUrl(MinIoChunkUtils.chunkBucKet,fileName,60);
                 uploadChunkService.updateStatusByUploadId(uploadChunk.getId(),-1);