Java判断文件是否为图片
来源:互联网 发布:easybcd引导ubuntu 编辑:程序博客网 时间:2024/06/05 06:10
前言
Java检查文件类型有几种方法:
1.判断文件后缀名
String extension = "";int i = fileName.lastIndexOf('.');if (i > 0) { extension = fileName.substring(i+1);}//...if(extension=="jpg"){//your code}
但是这种方法不太靠谱
2.判断文件头
在后缀未知,或者后缀被修改的文件,依然通过文件头来判断该文件究竟是什么文件类型。我们可以使用一个文本编辑工具如UltraEdit打开文件(16进制模式下),然后看文件头是什么字符,以下是常见图片类型的文件头字符(16进制)
JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (bmp),文件头:424D
在这里我主要使用第三种方法
3.通过MimetypesFileTypeMap来判断
3.1 在某个目录定义一个图片判断类
package com.yourcompany.common.singleton;public class ImageCheck { private MimetypesFileTypeMap mtftp; public ImageCheck(){ mtftp = new MimetypesFileTypeMap(); /* 不添加下面的类型会造成误判 详见:http://stackoverflow.com/questions/4855627/java-mimetypesfiletypemap-always-returning-application-octet-stream-on-android-e*/ mtftp.addMimeTypes("image png tif jpg jpeg bmp"); } public boolean isImage(File file){ String mimetype= mtftp.getContentType(file); String type = mimetype.split("/")[0]; return type.equals("image"); }}
3.2在applicationContext.xml添加bean
<bean id="imageCheck" class="com.yourcompany.common.singleton.ImageCheck"/>
3.3在Controller中引入
@Resource(name = "imageCheck")private ImageCheck imageCheck;
3.4使用
//storeFile是File类的if(!imageCheck.isImage(storeFile)){ storeFile.delete(); return Message.failure("只能上传图片");}
0 0
- Java 判断文件是否为图片文件
- java判断文件是否为图片
- java判断文件是否为图片
- Java判断文件是否为图片
- java判断文件是否为图片
- java 判断文件是否为图片2
- 判断文件是否为图片
- 判断文件是否为图片
- 判断文件是否为图片
- 判断文件是否为图片
- java 多种方式判断文件是否为图片
- java 判断文件是否图片
- 文件上传时判断是否为图片
- php判断文件是否为图片
- 文件上传时判断是否为图片
- java list/java判断是否为图片
- java判断是否为图片还是视频
- 判断是否为图片
- 抽象基类
- Yii2底层分析
- C++
- RateLimit--使用guava来做接口限流
- 用PHP爬取51job上苏州地区的PHP职位信息
- Java判断文件是否为图片
- Handler源码小窥
- 关于hibernate的hql
- 单例模式
- scala结果匹配方式
- Mongodb 查询指定时间范围的数据
- unity 打开外部虚拟键盘 exe文件
- 浅谈static关键字在C/C++中的作用
- Linux上的NFS搭建与应用(ssh 免登陆)