java 根据输入流检查图片格式
2013-01-14 11:55
239 查看
/** * File extensions. */ private static final String[] FILE_EXTS = {"JPG", "PNG", "GIF"}; /** * Magic bytes in a file with above extension. */ private static final byte[][] FILE_MAGS = new byte[][] { new byte[] {(byte)0xFF, (byte)0xD8, (byte)0xFF, (byte)0xE0}, //JPG new byte[] {(byte)0x89, (byte)0x50, (byte)0x4E, (byte)0x47}, //PNG new byte[] {(byte)0x47, (byte)0x49, (byte)0x46, (byte)0x38} //GIF }; /** * Get file format from file name. * @param fileName file name * @return file format, null if unsupported. */ public static String getFileFormat(String fileName) { int dp = fileName.lastIndexOf("."); if (dp == -1) return null; String ext = fileName.substring(dp + 1).toUpperCase(); if (ext.equals("JPEG")) ext = "JPG"; //JPEG is JPG if (ArrayUtils.indexOf(FILE_EXTS, ext) == -1) return null; return ext; } /** * Get file format by contents. * @param contents file contents * @return file format, null if unsupported. */ public static String getFileFormat(byte[] contents) { for (int i = 0; i < FILE_MAGS.length; i++) { byte[] mag = FILE_MAGS[i]; if (contents.length >= mag.length) { if (Arrays.equals(Arrays.copyOf(contents, mag.length), mag)) { return FILE_EXTS[i]; } } } return null; }
相关文章推荐
- java代码判断图片文件格式, 不是根据文件后缀来判断。
- JAVA对图片进行格式检查
- JAVA 图片格式检查方法
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- JAVA对图片进行格式检查
- 根据图片地址检查图片格式,今日头条有效
- Java图片处理的坑:披着羊皮的狼,图片格式不能只根据后来判断
- JAVA对图片进行格式检查
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 使用JAVA如何对图片进行格式检查以及安全检查处理
- 基于java的图片文件格式转换和线性缩放
- 基于Java的图片文件格式转换和线性缩放(1)
- 基于java的图片文件格式转换和线性缩放-Java基础-Java-编程开发
- java根据图片和文字生成自定义图片
- Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理
- 关于java.sql.SQLException: ORA-01830: 日期格式图片在转换整个输入字符串之前结束
- 图片上传之前检查大小、尺寸、格式并预览(Validate the file size/file type/image size/ before upload)
- 中国天气网 天气预报API 国家气象局 根据城市名称抓取城市ID,XML格式、JSON格式、图片代码