这里不讨论通过文件后缀名的判断方式,因为可以很容易的手动修改后缀名。
这里讨论如何通过文件的二进制流来判断一张图片是否为jpg格式的图片。对图像图像不太了解,请教了一位图像方向的同事后,大致了解了一些,这里写出来,作为笔记和分享。
原理很简单:所有JPG/JPEG格式的图片都是以十六进制的'FF D8'作为文件开始,'FF D9'作为文件结束标志。FF等为16进制数据,占文件的1 byte。如果没有带相机信息的jpg图片,第7, 8, 9, 10这4位上分别是字符'JFIF'的16进制表示,用UltraEdit打开可以直接看到;如果带有相机信息,有可能与不带信息的不同,也可能相同,不同的话在那4位上为'Exif'字符的16进制表示,但是他们都是以FF D8开始,FF D9结束。
原理清楚后,直接代码:
InputStream bin = new FileInputStream("C:/Users/wuyao/Desktop/sisu.jpg"); // a jpg file
int b[] = new int[4];
b[0] = bin.read();
b[1] = bin.read();
bin.skip(bin.available() - 2);
b[2] = bin.read();
b[3] = bin.read();
bin.close();
boolean m = bin.markSupported();
for (int e : b) {
System.out.print(e + "-");
}
//
StringBuffer buf = new StringBuffer("");
for (int e : b) {
buf.append(e);
buf.append(", ");
}
buf.delete(buf.length() - 2, buf.length());
System.out.println(buf.toString());
// should be: 255, 216, 255, 217
其他图片格式需要再学习相应的格式规范,以此类推,应该不难。
分享到:
相关推荐
其中封装的方法可以从本质上判断一个图片的类型,是PNG还是JPG还是BMP或是其它
java文件工具类FileUtil 递归获取一个文件夹(及其子文件夹)下所有文件 获取扩展名 (doc/docx/jpg等) 判断是否是图片 判断是否是压缩包 是否是word文档 是否是excel
很多ASP程序检查上传图片是否合法往往只去检查文件的后缀,这样有一个很大的安全隐患,就是如果把ASP文件的后缀名改成.jpg或者.gif上传,或者图片里加入恶意代码再上传,那也会被程序认为是图片文件而照传不误。...
21 02_1.jpg 第2章\ch2\image sample9.html中使用的图片文件 22 web.xml 第2章\ch2\WEB-INF 第2章程序应用的描述文件 23 register.html 第2章\ch2 习题答案,用户注册页面 表3 第3章 序号 文件名称 位置 说明 ...
//判断上传的是不是文件 if(!file.isMissing()){ //将获取的图片另存为文件名为new,后缀名从原是文件中获得 file.saveAs(dir+"/new."+file.getFileExt(),su.SAVE_VIRTUAL); //获取图片的客户端路径名 String ...
网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R...JPE,JPEG,JPG:JPEG图形文件 JS:javascript源文件 JSP:HTML网页,其中包含有对一个Java servlet...
img.JPG onblur事件中加载的图片文件。 第8章(\c08) 示例描述:学习JavaScript中的document对象。 8.1.html 得到文档锚点对象数组。 8.2.html 获取并设置cookie信息。 8.3.html 获取文档标记的...
2.1 图片管理模块:主要使用mvc的multipartResolver工具类实现文件上传。如果接受到了文件上传请求,dispatcher调用resolveMultipart方法装饰请求HttpServletRequest并返回multiHttpServletRequest类型(包含文件...
'本程序只供在需要特别处理服务器文件时使用,严禁用于非法目的 '由于非正当使用本程序而造成的一切后果及责任自负 '版本: v0.12 '作者: 河北科技大学 rssn | Risingsun,Hebust 'QQ: 126027268 'E-mail: rssn@163....
判断规格参数模板是否存在.avi │ 10.保存规格参数模板.avi │ 11.展示规格参数模板.avi │ 12.保存规格参数.avi │ 13.展示规格参数.avi │ 淘淘商城第四天笔记.docx │ ├─05.第五天 │ 01.课前复习.avi │ 02....