1 changed files with 42 additions and 0 deletions
@ -0,0 +1,42 @@
@@ -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; |
||||
} |
||||
} |
Loading…
Reference in new issue