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;
    }
相关推荐
需要82621 分钟前
Arthas 一个命令排查线上问题
java·jvm·spring·spring cloud
Kyrie_kk34 分钟前
Java--ProcessBuilder操作系统进程
java·后端
SamDeepThinking39 分钟前
关于java final关键字的可见性
java·后端·面试
Wang's Blog1 小时前
Java 项目实战: 外卖平台-MyBatis-Plus分页插件与员工分页查询
java·项目开发
MetaLite1 小时前
全网最好的SpringBoot接口请求对象设计
java·spring boot·后端
蜗牛互联网1 小时前
AI给面试打分不够,求职者更需要可核对的证据
java·人工智能·后端
此时不提桶,更待何时2 小时前
02-05-B-虚拟线程面试与生产事故实战
java·面试
名字还没想好☜2 小时前
Spring Boot 3.2 RestClient 实战:替代 RestTemplate 调外部接口,超时、连接池与错误处理
java·后端·spring
摇滚侠2 小时前
《Spring Boot 3:高级与架构设计》第 2 章 IOC容器的高级机制 BeanFactoryPostProcessor 个人理解 6
java·spring boot·笔记·后端
程序员阿鹏3 小时前
简单介绍一下软引用
java·开发语言·jvm·数据结构·后端