上传文件的限制,Spring 默认为 1MB 的修改-CSDN博客
直接看代码
@RestController
public class UploadFileController {
@PostMapping("/upload")
public Result upload(String username,Integer age,MultipartFile image) throws Exception {
log.info("上传文件 {},{},{}", username, age, image);
// 获取文件名
String ofn = image.getOriginalFilename();
// 构建唯一文件名
String ext = ofn.substring(ofn.lastIndexOf("."));
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
String dtnow = dateFormat.format(LocalDateTime.now());
// 文件名为 UUID + 当前时间戳 ,分割符为 - ,扩展名为原文件扩展名
String newofn = UUID.randomUUID().toString().replace("-","") + '-' + dtnow + ext;
log.info("新的文件名:{}", newofn);
// 存储文件到本地
image.transferTo(new File("/Users/ann/JavaDev/uploadfile/university/" + newofn));
return Result.success();
}
}
对于 UUID 的解释
UUID.randomUUID().toString().replace("-","")
UUID.randomUUID() // 生成 UUID
UID.randomUUID().toString() // 将 UUID 变成字符串
.replace("-","") // 去掉 UUID 中间的 -
时间结构
// 定义时间显示的结构
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
// 获取当前时间
// 并对当前时间格式化,成为 yyyyMMddHHmmss
String dtnow = dateFormat.format(LocalDateTime.now());
文件名结果
上传文件名 —— hua.png
1915986e899245a4a507af7afb6b842a-20250513235639.png
备注 ⚠️:
不使用 replace() 的结果
8855ce50-dd54-4893-8624-3122ac8c8abf-20250513235431.png
UUID的原始显示格式。