donglang 4 дней назад
Родитель
Сommit
726d72174b

+ 12 - 10
sckw-modules/sckw-file/src/main/java/com/sckw/file/service/FileInfoService.java

@@ -3,19 +3,15 @@ package com.sckw.file.service;
 import cn.hutool.core.io.file.FileNameUtil;
 import cn.hutool.core.util.StrUtil;
 import com.sckw.core.common.enums.StringConstant;
-import com.sckw.core.common.enums.enums.FileDisposeLayoutEnum;
-import com.sckw.core.common.enums.enums.FileEnum;
 import com.sckw.core.config.ProjectConfig;
 import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.NumberConstant;
-import com.sckw.core.model.file.FileInfo;
 import com.sckw.core.utils.FileUploadUtils;
 import com.sckw.core.utils.FileUtils;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.core.web.response.result.Status;
 import com.sckw.file.api.dto.FileInfoVO;
 import com.sckw.file.dao.KwsFileInfoDao;
 import com.sckw.file.model.kwfFileInfo;
@@ -23,9 +19,7 @@ import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.io.FilenameUtils;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
@@ -33,7 +27,6 @@ import org.springframework.web.multipart.MultipartFile;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.List;
 
 /**
  * @author xucaiqin
@@ -58,10 +51,19 @@ public class FileInfoService {
         // 打开,调用FileService走OSS上传
         if (ossEnabled) {
             log.info("oss文件上传!");
-            HttpResult result = fileService.uploadFileInfo(file);
-            FileInfoVO fileInfoVO = (FileInfoVO) result.getData();
+            com.sckw.core.model.vo.FileInfoVO fileInfoVO = fileService.uploadFileInfoV2(file);
             log.info("OSS文件上传成功,文件访问URL: {}", fileInfoVO.getFileAbsolutePath());
-            return fileInfoVO;
+
+            FileInfoVO infoVO = new FileInfoVO();
+            infoVO.setType(fileInfoVO.getType());
+            infoVO.setFileOriginalName(fileInfoVO.getFileOriginalName());
+            infoVO.setFileMd5(fileInfoVO.getFileMd5());
+            infoVO.setFileName(fileInfoVO.getFileName());
+            infoVO.setFileSuffix(fileInfoVO.getFileSuffix());
+            infoVO.setFileSize(fileInfoVO.getFileSize());
+            infoVO.setFilePath(fileInfoVO.getFilePath());
+            infoVO.setFileAbsolutePath(fileInfoVO.getFileAbsolutePath());
+            return infoVO;
         }
 
         // 关闭,走本地上传

+ 15 - 0
sckw-modules/sckw-file/src/main/java/com/sckw/file/service/FileService.java

@@ -274,6 +274,21 @@ public class FileService {
         return HttpResult.ok(fileInfoVO);
     }
 
+    public FileInfoVO uploadFileInfoV2(MultipartFile file) {
+        boolean flag = checkFileFormat(file);
+        if (!flag) {
+            throw new RuntimeException("上传文件格式错误!");
+        }
+        FileInfo fileInfo = FileUtils.getFileDataList(file);
+        fileInfo.setType(FileEnum.FILE_STORE_TYPE_OSS.getFileType());
+        FileInfo returnFileInfo = FileUtils.uploadFileInfo(file, fileInfo, FileEnum.FILE_STORE_TYPE_OSS);
+        FileInfoVO fileInfoVO = new FileInfoVO();
+        BeanUtils.copyProperties(returnFileInfo, fileInfoVO);
+        boolean isImage = FileUtils.isImage(file);
+        insertFile(returnFileInfo, isImage);
+        return fileInfoVO;
+    }
+
     private void insertFile(FileInfo fileInfo, boolean isImage) {
         kwfFileInfo kwfFileInfo = new kwfFileInfo();
         kwfFileInfo.setOriginalName(fileInfo.getFileOriginalName());