From 1521de61286b559ce8909119a514b503279efc07 Mon Sep 17 00:00:00 2001 From: mengyxu Date: Tue, 4 Jan 2022 14:44:45 +0800 Subject: [PATCH] Create ImageType.java --- .../java/vip/xumy/core/utils/ImageType.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/java/vip/xumy/core/utils/ImageType.java diff --git a/src/main/java/vip/xumy/core/utils/ImageType.java b/src/main/java/vip/xumy/core/utils/ImageType.java new file mode 100644 index 0000000..bde6b33 --- /dev/null +++ b/src/main/java/vip/xumy/core/utils/ImageType.java @@ -0,0 +1,42 @@ +package vip.xumy.core.utils; + +import lombok.Getter; + +public enum ImageType { + PNG('P', 'N', 'G', '-', "png"), JPG('J', 'F', 'I', 'F', "jpg"), GIF('G', 'I', 'F', '-', "gif"); + @Getter + private char begin, mid, end, last; + @Getter + private String type; + + private ImageType(char begin, char mid, char end, char last, String type) { + this.begin = begin; + this.mid = mid; + this.end = end; + this.last = last; + this.type = type; + } + + /** + * 获取图片类型 + * + * @param data + * @return + */ + public static ImageType getImageType(byte[] data) { + // Png: + if (PNG.getBegin() == data[1] && PNG.getMid() == data[2] && PNG.getEnd() == data[3]) { + return PNG; + } + // Gif: + if (GIF.getBegin() == data[0] && GIF.getMid() == data[1] && GIF.getEnd() == data[2]) { + return GIF; + } + // JPG: + if (JPG.getBegin() == data[6] && JPG.getMid() == data[7] && JPG.getEnd() == data[8] + && JPG.getLast() == data[9]) { + return JPG; + } + return null; + } +} \ No newline at end of file