• java判断传进来的是否是图片


    public static void main(String[] args) throws IOException {
            String filePath = "C:\Users\80975\Desktop/1.png";
            File file = new File(filePath);
            ImageInputStream iis = ImageIO.createImageInputStream(file);
            Iterator iter = ImageIO.getImageReaders(iis);
            if (!iter.hasNext()) {//文件不是图片 
                System.out.println("此文件不为图片文件");
            }else {
                System.out.println("是");
            }
    
            BufferedImage bi = ImageIO.read(file);
    
            if(bi == null){ 
                System.out.println("此文件不为图片文件");
            }else {
                System.out.println("是");
            }
        }

    使用ImageIO 判断图片宽高

    public static boolean isImage(InputStream inputStream) {
            if (inputStream == null) {
                return false;
            }
            Image img;
            try {
                img = ImageIO.read(inputStream);
                return !(img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0);
            } catch (Exception e) {
                return false;
            }
        }

    判断文件头信息

     public static String getImageType(File srcFilePath) {
            FileInputStream imgFile;
            byte[] b = new byte[10];
            int l = -1;
            try {
                imgFile = new FileInputStream(srcFilePath);
                l = imgFile.read(b);
                imgFile.close();
            } catch (Exception e) {
                return null;
            }
            if (l == 10) {
                byte b0 = b[0];
                byte b1 = b[1];
                byte b2 = b[2];
                byte b3 = b[3];
                byte b6 = b[6];
                byte b7 = b[7];
                byte b8 = b[8];
                byte b9 = b[9];
                if (b0 == (byte) 'G' && b1 == (byte) 'I' && b2 == (byte) 'F') {
                    return "gif";
                } else if (b1 == (byte) 'P' && b2 == (byte) 'N' && b3 == (byte) 'G') {
                    return "png";
                } else if (b6 == (byte) 'J' && b7 == (byte) 'F' && b8 == (byte) 'I' && b9 == (byte) 'F') {
                    return "jpg";
                } else {
                    return null;
                }
            } else {
                return null;
            }
        }
  • 相关阅读:
    mysql 分页查询及优化
    Mabatis中#{}和${}的区别
    mybatis 缓存(cache)的使用
    mac下安装 rabbitMq
    maven profile动态选择配置文件
    在pom.xml中使用distributionManagement将项目打包上传到nexus私服
    ConfigFileApplicationListener
    【Ubuntu 16】安装nginx
    【Ubuntu 16】安装ssh
    使用XMLHttpRequest异步通信
  • 原文地址:https://www.cnblogs.com/shihaiming/p/10404700.html
Copyright © 2020-2023  润新知