Java判断文件是否是图片

java 复制代码
private boolean checkFile(MultipartFile file) throws IOException {
    String imageType = getImageType(ImageIO.createImageInputStream(file.getInputStream()));
    return !StringUtils.isEmpty(imageType);
}
java 复制代码
/**
     * 获取图片类型,图片类型返回图片格式,例如JPEG
     * 非图片类型返回null
     *
     * @param inputStream
     * @return
     * @throws IOException
     */
    private static String getImageType(ImageInputStream inputStream) throws IOException {
        final Iterator<ImageReader> imageReaders = ImageIO.getImageReaders(inputStream);
        if (imageReaders.hasNext()) {
            final ImageReader imageReader = imageReaders.next();
            return imageReader.getFormatName();
        }
        return null;
    }
相关推荐
xier_ran几秒前
【C++】“内部”、“外部”、“派生类”、“友元“类
java·开发语言·c++
凭君语未可10 分钟前
从静态代理走向动态代理:理解 JDK 动态代理的本质
java·开发语言
黑风风14 分钟前
在 Windows 上设置 MAVEN_HOME 环境变量(完整指南)
java·windows·maven
Rsun0455117 分钟前
15、Java 观察者模式从入门到实战
java·python·模板方法模式
珹洺19 分钟前
Java-Spring入门指南(二十三)俩万字超详细讲解利用IDEA手把手教你实现SSM(Spring + SpringMVC + MyBatis)整合,并构建第一个SSM基础系统
java·spring·intellij-idea
yaaakaaang20 分钟前
十九、观察者模式
java·观察者模式
小碗羊肉21 分钟前
【从零开始学Java | 第三十八篇】序列化流(Object Stream)
java·开发语言
亚历克斯神21 分钟前
Java 23 虚拟线程进阶:深度探索与实战
java·spring·微服务
想带你从多云到转晴22 分钟前
02、JAVAEE--多线程(二)
java·开发语言·javaee
AIoT科技物语23 分钟前
免费开源!50+算法,Java基于YOLO框架的视频AI识别算法平台,适配低空无人机巡检、摄像头安防场景
java·人工智能·算法·yolo·开源