添加上传最大值
This commit is contained in:
@ -18,26 +18,38 @@ public class FileStorageService {
|
||||
@Value("${file.upload-dir}")
|
||||
private String uploadDir;
|
||||
|
||||
private static final long MAX_FILE_SIZE = 10 * 1024 * 1024; // 10MB,单位是字节
|
||||
|
||||
public String storeFile(MultipartFile file) {
|
||||
// 检查文件大小
|
||||
if (file.getSize() > MAX_FILE_SIZE) {
|
||||
throw new RuntimeException("文件大小超过了最大限制(10MB)");
|
||||
}
|
||||
|
||||
try {
|
||||
String originalName = StringUtils.cleanPath(file.getOriginalFilename());
|
||||
String ext = "";
|
||||
|
||||
// 获取文件扩展名
|
||||
int i = originalName.lastIndexOf(".");
|
||||
if (i >= 0) {
|
||||
ext = originalName.substring(i);
|
||||
}
|
||||
|
||||
// 生成新的文件名,使用UUID来避免文件名冲突
|
||||
String filename = UUID.randomUUID().toString() + ext;
|
||||
Path copyLocation = Paths.get(uploadDir).toAbsolutePath().normalize().resolve(filename);
|
||||
|
||||
// 确保目标目录存在
|
||||
Files.createDirectories(copyLocation.getParent());
|
||||
|
||||
// 将文件内容写入目标路径
|
||||
Files.copy(file.getInputStream(), copyLocation, StandardCopyOption.REPLACE_EXISTING);
|
||||
|
||||
return filename;
|
||||
|
||||
} catch (IOException ex) {
|
||||
throw new RuntimeException("Could not store file: " + ex.getMessage());
|
||||
throw new RuntimeException("存储文件时出错: " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,6 +26,11 @@ apollo:
|
||||
enabled: true
|
||||
|
||||
spring:
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 10MB
|
||||
max-request-size: 10MB
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
@ -210,6 +215,8 @@ management:
|
||||
cors:
|
||||
allowed-origins: "*"
|
||||
allowed-methods: "*"
|
||||
|
||||
|
||||
login:
|
||||
password:
|
||||
privateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK8sGQAshhH/H1G/lOJdAZYBdPOto38d7zSv2BCi9JDmhM/yqWUv345zUt1OKM8VGx10daDfu6a8WWLCGa6RTU1P6jaWgZwqnIwcWRz9Q82NAu935gVHidiGA/yX52ZE061BZrA63l1uSxEpOCEyMD4UpPb6K0yxrBKzX4hz7OgjAgMBAAECgYAT/jx8QJisxSmV8v/TNjpQHKp0hYT7pTcAFHHctDylrSnLci7TVbt2TsNObvVJbWdC3V/vlJmeVjD9jJnRytO/pgc+p8I3Q3pfF7ACiBAz1+4VZM40vFz0RfQKJ/kZB3DiGohprOw60kRR0eMtHuaA07luhBCbne6700Paf+OOAQJBAP9THm3KEcnChnRBC6yPdNHLN/XplgGaIJU2Wo0biI8Oz2bM3eJGPSwrVCqObOwVPNYJIfEQRhlWlB9kpBS0ECECQQCvorUUJwJhV+Fx6bhUK5aa1/rDTODPmS1MycvLtjOp7ig1sGcb4g9Vl8uRPzsvQZ6Z+sNTD4mFFnYFneCvPL/DAkAMZo4QyQKqKO98z/fwLpt+4P7by7eEZmb0uEoXlmHAiPibxpF0PvMTpRsWYgp6QOHOh20Fl0PAUUsqZyns833hAkBEzV9UIqfrDCsTnbQIvP6FcAAay53xlRbK0u5Twe9hLRtxVMY/hQHuzMUBBB0iOPlxZmtnuVls2kynjJ4853ZTAkEAu+lLTmM7DBV9jDEc9sNM7UNa0MvAUb6r9DsTKHGLLRqB7ljQ1R2RiLRknFaegUPEVsvdMszH2rdy3CaIWkC5OQ==
|
||||
@ -219,4 +226,4 @@ login:
|
||||
captcha:
|
||||
privateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAK8sGQAshhH/H1G/lOJdAZYBdPOto38d7zSv2BCi9JDmhM/yqWUv345zUt1OKM8VGx10daDfu6a8WWLCGa6RTU1P6jaWgZwqnIwcWRz9Q82NAu935gVHidiGA/yX52ZE061BZrA63l1uSxEpOCEyMD4UpPb6K0yxrBKzX4hz7OgjAgMBAAECgYAT/jx8QJisxSmV8v/TNjpQHKp0hYT7pTcAFHHctDylrSnLci7TVbt2TsNObvVJbWdC3V/vlJmeVjD9jJnRytO/pgc+p8I3Q3pfF7ACiBAz1+4VZM40vFz0RfQKJ/kZB3DiGohprOw60kRR0eMtHuaA07luhBCbne6700Paf+OOAQJBAP9THm3KEcnChnRBC6yPdNHLN/XplgGaIJU2Wo0biI8Oz2bM3eJGPSwrVCqObOwVPNYJIfEQRhlWlB9kpBS0ECECQQCvorUUJwJhV+Fx6bhUK5aa1/rDTODPmS1MycvLtjOp7ig1sGcb4g9Vl8uRPzsvQZ6Z+sNTD4mFFnYFneCvPL/DAkAMZo4QyQKqKO98z/fwLpt+4P7by7eEZmb0uEoXlmHAiPibxpF0PvMTpRsWYgp6QOHOh20Fl0PAUUsqZyns833hAkBEzV9UIqfrDCsTnbQIvP6FcAAay53xlRbK0u5Twe9hLRtxVMY/hQHuzMUBBB0iOPlxZmtnuVls2kynjJ4853ZTAkEAu+lLTmM7DBV9jDEc9sNM7UNa0MvAUb6r9DsTKHGLLRqB7ljQ1R2RiLRknFaegUPEVsvdMszH2rdy3CaIWkC5OQ==
|
||||
publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvLBkALIYR/x9Rv5TiXQGWAXTzraN/He80r9gQovSQ5oTP8qllL9+Oc1LdTijPFRsddHWg37umvFliwhmukU1NT+o2loGcKpyMHFkc/UPNjQLvd+YFR4nYhgP8l+dmRNOtQWawOt5dbksRKTghMjA+FKT2+itMsawSs1+Ic+zoIwIDAQAB
|
||||
time_limit: 2 #Minutes
|
||||
time_limit: 2 #Minutes
|
||||
|
Reference in New Issue
Block a user