Forráskód Böngészése

更新 ImageFile 对象和图片上传 channel

reghao 2 éve
szülő
commit
3185de45ce

+ 0 - 15
dfs-store/src/main/java/cn/reghao/dfs/store/model/po/ImageFile.java

@@ -1,7 +1,6 @@
 package cn.reghao.dfs.store.model.po;
 
 import cn.reghao.jutil.jdk.db.BaseObject;
-import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
@@ -24,8 +23,6 @@ public class ImageFile extends BaseObject<Integer> {
     private String jpegUrl;
     private String webpObjectId;
     private String webpUrl;
-    private String thumbnailObjectId;
-    private String thumbnailUrl;
 
     public ImageFile(String imageFileId, Integer width, Integer height, Boolean horizontal,
                      String jpegObjectId, String jpegUrl) {
@@ -48,16 +45,4 @@ public class ImageFile extends BaseObject<Integer> {
         this.webpObjectId = webpObjectId;
         this.webpUrl = webpUrl;
     }
-
-    public ImageFile(String imageFileId, String jpegObjectId, String jpegUrl, Integer width, Integer height,
-                     Boolean horizontal, String thumbnailObjectId, String thumbnailUrl) {
-        this.imageFileId = imageFileId;
-        this.width = width;
-        this.height = height;
-        this.horizontal = horizontal;
-        this.jpegObjectId = jpegObjectId;
-        this.jpegUrl = jpegUrl;
-        this.thumbnailObjectId = thumbnailObjectId;
-        this.thumbnailUrl = thumbnailUrl;
-    }
 }

+ 0 - 5
dfs-store/src/main/java/cn/reghao/dfs/store/rpc/PermissionServiceImpl.java

@@ -59,11 +59,6 @@ public class PermissionServiceImpl implements PermissionService {
         if (webpObjectId != null) {
             fileMetaMapper.updateSetAcl(webpObjectId, acl);
         }
-
-        String thumbnailObjectId = imageFile.getThumbnailObjectId();
-        if (thumbnailObjectId != null) {
-            fileMetaMapper.updateSetAcl(thumbnailObjectId, acl);
-        }
     }
 
     public void setAudioPermission(String audioFileId, int acl) {

+ 5 - 15
dfs-store/src/main/java/cn/reghao/dfs/store/service/ChannelValidateService.java

@@ -23,14 +23,12 @@ public class ChannelValidateService {
                 return validateVideo(file);
             case audio:
                 return validateAudio(file);
-            case cover:
-                return validateCover(file);
             case avatar:
                 return validateAvatar(file);
-            case photo:
-                return validatePhoto(file);
             case image:
                 return validateImage(file);
+            case photo:
+                return validatePhoto(file);
             default:
                 log.info("{} 的文件暂时无法处理", channel.getPrefix());
                 return false;
@@ -56,12 +54,12 @@ public class ChannelValidateService {
     private boolean validateAvatar(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();
-        // 5MiB
-        long maxLen = 1024*1024*5;
+        // 2MiB
+        long maxLen = 1024*1024*2;
         return len < maxLen && mediaType.startsWith("image");
     }
 
-    private boolean validateCover(File file) {
+    private boolean validateImage(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();
         // 10MiB
@@ -69,14 +67,6 @@ public class ChannelValidateService {
         return len < maxLen && mediaType.startsWith("image");
     }
 
-    private boolean validateImage(File file) {
-        String mediaType = FileType.getMediaType(file.getAbsolutePath());
-        long len = file.length();
-        // 20MiB
-        long maxLen = 1024*1024*20;
-        return len < maxLen && mediaType.startsWith("image");
-    }
-
     private boolean validatePhoto(File file) {
         String mediaType = FileType.getMediaType(file.getAbsolutePath());
         long len = file.length();

+ 4 - 9
dfs-store/src/main/java/cn/reghao/dfs/store/task/FileProcessor.java

@@ -45,20 +45,15 @@ public class FileProcessor {
             case video:
                 uploadFileRet = videoFileProcessor.process(objectResult);
                 break;
-            case cover:
-                uploadFileRet = imageFileProcessor.processCover(objectResult);
+            case audio:
+                uploadFileRet = audioFileProcessor.process(objectResult);
                 break;
             case avatar:
-                uploadFileRet = imageFileProcessor.processAvatar(objectResult);
-                break;
-            case photo:
-                uploadFileRet = imageFileProcessor.processPhoto(objectResult);
-                break;
             case image:
                 uploadFileRet = imageFileProcessor.processImage(objectResult);
                 break;
-            case audio:
-                uploadFileRet = audioFileProcessor.process(objectResult);
+            case photo:
+                uploadFileRet = imageFileProcessor.processPhoto(objectResult);
                 break;
             default:
                 log.info("{} 类型的 {} 文件暂时无法处理", objectType.name(), objectName);

+ 1 - 90
dfs-store/src/main/java/cn/reghao/dfs/store/task/ImageFileProcessor.java

@@ -6,7 +6,6 @@ import cn.reghao.dfs.store.model.vo.ObjectResult;
 import cn.reghao.dfs.store.service.FileStoreService;
 import cn.reghao.dfs.store.service.ObjectNameService;
 import cn.reghao.dfs.store.service.PutObjectService;
-import cn.reghao.dfs.store.util.StringUtil;
 import cn.reghao.jutil.jdk.security.DigestUtil;
 import cn.reghao.dfs.store.model.po.ImageFile;
 import cn.reghao.jutil.media.ImageOps;
@@ -40,7 +39,7 @@ public class ImageFileProcessor {
         this.putObjectService = putObjectService;
     }
 
-    public UploadFileRet processCover(ObjectResult objectResult) {
+    public UploadFileRet processImage(ObjectResult objectResult) {
         String originalObjectId = objectResult.getObjectId();
         boolean duplicate = objectResult.isDuplicate();
         if (duplicate) {
@@ -79,55 +78,6 @@ public class ImageFileProcessor {
         return null;
     }
 
-    public UploadFileRet processAvatar(ObjectResult objectResult) {
-        String originalObjectId = objectResult.getObjectId();
-        boolean duplicate = objectResult.isDuplicate();
-        if (duplicate) {
-            String dupObjectId = objectResult.getDupObjectId();
-            ImageFile imageFile = mediaRepository.findImageFile(dupObjectId);
-
-            ObjectResult jpegResult = getCopiedObject(imageFile.getJpegUrl());
-            String jpegObjectId = jpegResult.getObjectId();
-            String jpegUrl = objectNameService.getObjectUrl(jpegResult.getObjectName());
-
-            ObjectResult thumbnailResult = getCopiedObject(imageFile.getThumbnailUrl());
-            String thumbnailObjectId = thumbnailResult.getObjectId();
-            String thumbnailUrl = objectNameService.getObjectUrl(thumbnailResult.getObjectName());
-
-            int width = imageFile.getWidth();
-            int height = imageFile.getHeight();
-            boolean horizontal = imageFile.getHorizontal();
-            ImageFile imageFile1 = new ImageFile(originalObjectId, jpegObjectId, jpegUrl, width, height, horizontal,
-                    thumbnailObjectId, thumbnailUrl);
-            mediaRepository.saveImageFile(imageFile1);
-            return new UploadFileRet(originalObjectId, jpegUrl);
-        }
-
-        String absolutePath = objectResult.getAbsolutePath();
-        String format = ImageOps.getFormat(new File(absolutePath));
-        try {
-            ObjectResult jpegResult = getJpegObject(objectResult, format);
-            String jpegObjectId = jpegResult.getObjectId();
-            String jpegUrl = objectNameService.getObjectUrl(jpegResult.getObjectName());
-
-            ObjectResult thumbnailResult = getThumbnailObject(objectResult);
-            String thumbnailObjectId = thumbnailResult.getObjectId();
-            String thumbnailUrl = objectNameService.getObjectUrl(thumbnailResult.getObjectName());
-
-            ImageOps.Size size = ImageOps.info(new File(absolutePath));
-            int width = size.getWidth();
-            int height = size.getHeight();
-            boolean horizontal = width > height;
-            ImageFile imageFile = new ImageFile(originalObjectId, jpegObjectId, jpegUrl, width, height, horizontal,
-                    thumbnailObjectId, thumbnailUrl);
-            mediaRepository.saveImageFile(imageFile);
-            return new UploadFileRet(originalObjectId, jpegUrl);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
     public UploadFileRet processPhoto(ObjectResult objectResult) {
         String originalObjectId = objectResult.getObjectId();
         boolean duplicate = objectResult.isDuplicate();
@@ -177,45 +127,6 @@ public class ImageFileProcessor {
         return null;
     }
 
-    public UploadFileRet processImage(ObjectResult objectResult) {
-        String originalObjectId = objectResult.getObjectId();
-        boolean duplicate = objectResult.isDuplicate();
-        if (duplicate) {
-            String dupObjectId = objectResult.getDupObjectId();
-            ImageFile imageFile = mediaRepository.findImageFile(dupObjectId);
-
-            ObjectResult jpegResult = getCopiedObject(imageFile.getJpegUrl());
-            String jpegObjectId = jpegResult.getObjectId();
-            String jpegUrl = objectNameService.getObjectUrl(jpegResult.getObjectName());
-
-            int width = imageFile.getWidth();
-            int height = imageFile.getHeight();
-            boolean horizontal = imageFile.getHorizontal();
-            ImageFile imageFile1 = new ImageFile(originalObjectId, width, height, horizontal, jpegObjectId, jpegUrl);
-            mediaRepository.saveImageFile(imageFile1);
-            return new UploadFileRet(originalObjectId, jpegUrl);
-        }
-
-        String absolutePath = objectResult.getAbsolutePath();
-        String format = ImageOps.getFormat(new File(absolutePath));
-        try {
-            ObjectResult jpegResult = getJpegObject(objectResult, format);
-            String jpegObjectId = jpegResult.getObjectId();
-            String jpegUrl = objectNameService.getObjectUrl(jpegResult.getObjectName());
-
-            ImageOps.Size size = ImageOps.info(new File(absolutePath));
-            int width = size.getWidth();
-            int height = size.getHeight();
-            boolean horizontal = width > height;
-            ImageFile imageFile = new ImageFile(originalObjectId, width, height, horizontal, jpegObjectId, jpegUrl);
-            mediaRepository.saveImageFile(imageFile);
-            return new UploadFileRet(originalObjectId, jpegUrl);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return null;
-    }
-
     private ObjectResult getCopiedObject(String url) {
         String objectName = objectNameService.getObjectNameFromUrl(url);
         return putObjectService.copyObject(objectName);

+ 6 - 8
oss-api/src/main/java/cn/reghao/oss/api/constant/UploadChannel.java

@@ -12,16 +12,14 @@ public enum UploadChannel {
     disk(1, "file/"),
     // 视频上传
     video(2, "video/playback/"),
-    // 视频封面上传
-    cover(3, "image/cover/"),
-    // 用户头像上传
-    avatar(4, "image/avatar/"),
-    // 用户状态照片上传
-    photo(5, "image/photo/"),
     // 音频上传
-    audio(6, "audio/playback/"),
+    audio(3, "audio/playback/"),
+    // 用户头像上传
+    avatar(4, "image/a/"),
     // 图片上传
-    image(7, "i/");
+    image(5, "image/i/"),
+    // 用户状态照片上传
+    photo(6, "image/p/");
 
     private final int code;
     private final String prefix;