V3-17 jt项目07 图片上传校验(五步走)+优化(properties)+Nginx的安装和使用

119 阅读1分钟

01. 完善文件上传操作 

1. 校验图片类型是否正确

 String fileName = file.getOriginalFilename();
        //统一小写
        fileName = fileName.toLowerCase();
        //正则表达式 a.jpg 校验
        if (!fileName.matches("^.+\\.(jpg|png|gif|jpeg)$")) {
            //不满足图片规则, 直接return null
            return null;
        }

2 校验文件是否为恶意程序

 //2.1 将文件转换为图片对象 获取宽度和高度
        try {
            BufferedImage bufferedImage = ImageIO.read(file.getInputStream());
            int height = bufferedImage.getHeight();
            int width = bufferedImage.getWidth();
            if (height == 0 || width == 0) {
                return null;
            }

3 文件分目录储存

3.1  指定文件的根目录localDir  按时间分配


            String dateDirPath = new SimpleDateFormat("/yyyy/MM/dd/").format(new Date());
            //d:/imgs/yyyy/M