为上传的文件分配目录动态的图片

动态图片存放在post/下的/yyyy/MM目录中
This commit is contained in:
KilLze
2025-12-24 19:54:33 +08:00
parent 08018ede83
commit 5d3d85a325
3 changed files with 8 additions and 30 deletions

View File

@@ -11,6 +11,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.io.ByteArrayInputStream;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
@Data
@Slf4j
@@ -30,7 +32,6 @@ public class AliOssUtil {
* @return 完整的文件访问URL
*/
public String upload(byte[] bytes, String objectName) {
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

View File

@@ -15,7 +15,9 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -55,8 +57,11 @@ public class PostServiceImpl implements PostService {
try {
// 根据文件扩展名判断文件类型
String fileType = FileUtil.getFileType(file.getOriginalFilename());
// 创建目录
String dir = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy/MM"));
// 生成唯一文件名
String fileName = UUID.randomUUID().toString() + "." + FileUtil.getFileExtension(file.getOriginalFilename());
String newFileName = UUID.randomUUID().toString() + "." + FileUtil.getFileExtension(file.getOriginalFilename());
String fileName = "post/" + dir + "/" + newFileName;
// 获取文件字节数据
byte[] fileBytes = file.getBytes();
// 根据文件类型处理

View File

@@ -1,28 +0,0 @@
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://110.42.41.177:3306/dating?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username: root
password: JoyeeServe2025
driver-class-name: com.mysql.cj.jdbc.Driver
# MyBatis 配置
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.bao.dating.pojo
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 阿里云 OSS 配置
aliyun:
oss:
endpoint: oss-cn-beijing.aliyuncs.com
access-key-id: LTAI5tKo9TpWH1aW6JxWm1Gp
access-key-secret: LHk9DdHECKCwIdaIM9fkGgEuowt18W
bucket-name: heimato
accessKeyId: LTAI5t5vpcbCZwweNHEDDDaF
secret: bBHBAPiCqGyVBHUv07348wsHXkKqrk
scenes: antispam