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;
    }
相关推荐
better_liang2 分钟前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit11 分钟前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
ZhengEnCi1 小时前
01-如何监听接口调用情况?
java·spring boot·后端
JAVA面经实录9172 小时前
MyBatis学习体系
java·mybatis
java1234_小锋2 小时前
在 Spring AI 中如何实现函数调用(Function Calling)?请说明其基本原理和应用场景。
java·人工智能·spring
小马爱打代码3 小时前
Spring源码 第九篇:Spring 5 源码深度拆解 - Spring 事件驱动模型
java·后端·spring
ForgeAI码匠4 小时前
ForgeAdmin|Spring Boot 3 后台框架的自动配置设计:少写配置,多做组合
java·spring boot·后端
tongluowan0074 小时前
Redisson的参数及工作原理
java·redis·lua·分布式锁
仙俊红4 小时前
Integer\int对比,equals()\hashcode面试
java·面试·职场和发展
WiChP4 小时前
【V0.1B10】从零开始的2D游戏引擎开发之路
java·数据库·游戏引擎