From 4bcfe0aa64db9d15f8868eaa2f9b95c3b50b0210 Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Mon, 10 Aug 2026 16:28:18 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20=E6=96=87=E4=BB=B6=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=8A=A0=E4=B8=8A=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervision/config/FastDFSConfig.java | 11 ++++++- .../supervision/service/FileService.java | 30 +++++++++++++++++-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/biutag/supervision/config/FastDFSConfig.java b/src/main/java/com/biutag/supervision/config/FastDFSConfig.java index d3aedd2..c2a1237 100644 --- a/src/main/java/com/biutag/supervision/config/FastDFSConfig.java +++ b/src/main/java/com/biutag/supervision/config/FastDFSConfig.java @@ -2,10 +2,12 @@ package com.biutag.supervision.config; import com.github.tobato.fastdfs.domain.conn.TrackerConnectionManager; import jakarta.annotation.PostConstruct; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +@Slf4j @ComponentScan("com.github.tobato.fastdfs") @Configuration public class FastDFSConfig { @@ -15,6 +17,13 @@ public class FastDFSConfig { @PostConstruct public void init() { - trackerConnectionManager.initTracker(); + try { + trackerConnectionManager.initTracker(); + log.info("FastDFS Tracker初始化完成: trackerList={}", trackerConnectionManager.getTrackerList()); + } catch (RuntimeException e) { + log.error("FastDFS Tracker初始化失败: trackerList={}, exceptionType={}, message={}", + trackerConnectionManager.getTrackerList(), e.getClass().getName(), e.getMessage(), e); + throw e; + } } } diff --git a/src/main/java/com/biutag/supervision/service/FileService.java b/src/main/java/com/biutag/supervision/service/FileService.java index 7e50f65..328b717 100644 --- a/src/main/java/com/biutag/supervision/service/FileService.java +++ b/src/main/java/com/biutag/supervision/service/FileService.java @@ -6,10 +6,13 @@ import cn.hutool.http.HttpUtil; import com.biutag.supervision.mapper.FileBase64Mapper; import com.biutag.supervision.pojo.entity.FileBase64; import com.biutag.supervision.util.ImgUtils; +import com.github.tobato.fastdfs.domain.conn.TrackerConnectionManager; import com.github.tobato.fastdfs.domain.fdfs.StorePath; import com.github.tobato.fastdfs.service.FastFileStorageClient; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -18,12 +21,19 @@ import java.io.IOException; import java.io.InputStream; import java.util.Base64; +@Slf4j @RequiredArgsConstructor @Service public class FileService { + private static final String STORAGE_GROUP = "group1"; + private final FastFileStorageClient fastFileStorageClient; + private final TrackerConnectionManager trackerConnectionManager; + + private final Environment environment; + private final FileBase64Mapper fileBase64Mapper; @Value("${fdfs.preview-url}") @@ -34,8 +44,24 @@ public class FileService { } public String upload(InputStream is, long size, String fileExtName) { - StorePath storePath = fastFileStorageClient.uploadFile("group1", is, size, fileExtName); - return "/" + storePath.getFullPath(); + long startTime = System.currentTimeMillis(); + String activeProfiles = String.join(",", environment.getActiveProfiles()); + log.info("FastDFS上传开始: activeProfiles={}, trackerList={}, group={}, fileSize={}, fileExtName={}", + activeProfiles, trackerConnectionManager.getTrackerList(), STORAGE_GROUP, size, fileExtName); + try { + StorePath storePath = fastFileStorageClient.uploadFile(STORAGE_GROUP, is, size, fileExtName); + String filePath = "/" + storePath.getFullPath(); + log.info("FastDFS上传成功: activeProfiles={}, trackerList={}, group={}, filePath={}, elapsedMs={}", + activeProfiles, trackerConnectionManager.getTrackerList(), STORAGE_GROUP, filePath, + System.currentTimeMillis() - startTime); + return filePath; + } catch (RuntimeException e) { + log.error("FastDFS上传失败: activeProfiles={}, trackerList={}, group={}, fileSize={}, fileExtName={}, " + + "elapsedMs={}, exceptionType={}, message={}", + activeProfiles, trackerConnectionManager.getTrackerList(), STORAGE_GROUP, size, fileExtName, + System.currentTimeMillis() - startTime, e.getClass().getName(), e.getMessage(), e); + throw e; + } } public String uploadBase64(String base64, String originalFilename) {