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;
    }
相关推荐
JAVA面经实录9178 分钟前
JVM高频面试总结(背诵完整版)
java·开发语言·jvm
ChoSeitaku12 分钟前
11.异常_throws_try...catch_BigInteger_BigDecimal_Date_Calendar_LocalDate_Integer
java
胡志辉的博客15 分钟前
完全开源、本地 SQLite 管理一切:我写了一个桌面邮件客户端 OneMail
java·sqlite·开源
沪漂阿龙18 分钟前
Java JVM 面试题详解:JVM运行原理、内存模型、堆栈方法区、GC垃圾回收、JIT编译、类加载机制与线上调优全攻略
java·开发语言·jvm
小碗羊肉20 分钟前
Maven高级
java·开发语言·maven
星秀日27 分钟前
Spring Boot + Sa-Token 实时聊天系统:用户注册流程源码深度剖析
java·人工智能·spring·状态模式
YOU OU1 小时前
SpringBoot 配置文件
java·spring boot·后端
c++之路1 小时前
观察者模式(Observer Pattern)
java·网络·观察者模式
Dicky-_-zhang1 小时前
云原生存储与数据库选型实战:从传统数据库到云原生数据库的演进
java·jvm
凝小飞1 小时前
cucumber JAVA 一键部署指南
java·集成测试·模块测试