Просмотр исходного кода

修改上传的文件大小限制:
1.单个视频文件最大为 10GiB
2.单个音频文件最大为 1GiB
3.单个照片文件最大为 100MiB
4.单个图片文件最大为 20MiB
5.单个视频封面文件最大为 10MiB
6.单个用户头像文件最大为 5MiB

reghao 2 лет назад
Родитель
Сommit
726b7c5bc9

+ 20 - 6
dfs-store/src/main/java/cn/reghao/dfs/store/service/ChannelValidateService.java

@@ -39,35 +39,49 @@ public class ChannelValidateService {
 
 
     private boolean validateVideo(File file) {
     private boolean validateVideo(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
-        return mediaType.startsWith("video");
+        long len = file.length();
+        // 10GiB
+        long maxLen = 1024L *1024*1024*10;
+        return len < maxLen && mediaType.startsWith("video");
     }
     }
 
 
     private boolean validateAudio(File file) {
     private boolean validateAudio(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
-        return mediaType.startsWith("audio");
+        long len = file.length();
+        // 1GiB
+        long maxLen = 1024L * 1024 * 1024;
+        return len < maxLen && mediaType.startsWith("audio");
     }
     }
 
 
     private boolean validateAvatar(File file) {
     private boolean validateAvatar(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();
         long len = file.length();
-        return len < 1024*1024*5 && mediaType.startsWith("image");
+        // 5MiB
+        long maxLen = 1024*1024*5;
+        return len < maxLen && mediaType.startsWith("image");
     }
     }
 
 
     private boolean validateCover(File file) {
     private boolean validateCover(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();
         long len = file.length();
-        return len < 1024*1024*10 && mediaType.startsWith("image");
+        // 10MiB
+        long maxLen = 1024*1024*10;
+        return len < maxLen && mediaType.startsWith("image");
     }
     }
 
 
     private boolean validateImage(File file) {
     private boolean validateImage(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();
         long len = file.length();
-        return len < 1024*1024*20 && mediaType.startsWith("image");
+        // 20MiB
+        long maxLen = 1024*1024*20;
+        return len < maxLen && mediaType.startsWith("image");
     }
     }
 
 
     private boolean validatePhoto(File file) {
     private boolean validatePhoto(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();
         long len = file.length();
-        return len < 1024*1024*100 && mediaType.startsWith("image");
+        // 100MiB
+        long maxLen = 1024*1024*100;
+        return len < maxLen && mediaType.startsWith("image");
     }
     }
 }
 }