From 19f41c5e8478893e463ad5c620b74909e6477539 Mon Sep 17 00:00:00 2001 From: ikmkj <1@qq,com> Date: Sun, 10 Aug 2025 14:04:56 +0800 Subject: [PATCH] =?UTF-8?q?refactor(file):=20=E4=BC=98=E5=8C=96=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E5=92=8C=E8=AE=BF=E9=97=AE=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 BannerServiceImpl 中图片 URL 的处理逻辑,确保使用相对路径 - 更新 FileServiceImpl 中文件上传方法,返回文件的绝对物理路径 - 在 MusicDTO 中为日期时间字段添加 JsonFormat 注解,统一日期格式 --- .../src/main/java/com/test/musichouduan/dto/MusicDTO.java | 4 ++++ .../com/test/musichouduan/service/impl/BannerServiceImpl.java | 4 +++- .../com/test/musichouduan/service/impl/FileServiceImpl.java | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java b/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java index dc2c534..25e3582 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java +++ b/music-houduan/src/main/java/com/test/musichouduan/dto/MusicDTO.java @@ -1,5 +1,6 @@ package com.test.musichouduan.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.time.LocalDateTime; @@ -99,6 +100,7 @@ public class MusicDTO { /** * 发行日期 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime releaseDate; /** @@ -114,11 +116,13 @@ public class MusicDTO { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** * 收藏时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime collectTime; /** diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/BannerServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/BannerServiceImpl.java index d6a9051..3d43a7e 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/BannerServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/BannerServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.util.List; import java.util.stream.Collectors; @@ -70,11 +71,12 @@ public class BannerServiceImpl implements BannerService { public BannerDTO addBanner(BannerDTO bannerDTO, MultipartFile image) { // 上传图片 String imageUrl = fileService.uploadImage(image); + String Url = imageUrl.replace(System.getProperty("user.dir") + File.separator + "music-houduan", "").replace(File.separator, "/"); // 创建轮播图实体 Banner banner = new Banner(); BeanUtils.copyProperties(bannerDTO, banner); - banner.setImageUrl(imageUrl); // imageUrl已经是 /upload/images/... 格式 + banner.setImageUrl(Url); // imageUrl已经是 /upload/images/... 格式 banner.setStatus(banner.getStatus() != null ? banner.getStatus() : 1); // 保存轮播图 diff --git a/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java b/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java index 0d1ff9b..636981a 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java +++ b/music-houduan/src/main/java/com/test/musichouduan/service/impl/FileServiceImpl.java @@ -194,7 +194,8 @@ public class FileServiceImpl implements FileService { try { file.transferTo(targetFile); // 返回文件的相对访问URL,并确保使用正斜杠 - return accessPath + directory + "/" + fileName; + // 返回文件的绝对物理路径 + return targetFile.getAbsolutePath(); } catch (IOException e) { logger.error("上传文件失败", e); throw new BusinessException("上传文件失败");