1. 程式人生 > >上傳圖片驗證相關

上傳圖片驗證相關

private boolean checkImageFile(MultipartFile uploadImg,ShowImgInfoDto imgInfo) throws IOException {


        String fileName = uploadImg.getOriginalFilename();
        String extUpp =StringUtil.toUpperCase(fileName.substring(fileName.lastIndexOf(".") + 1));


        //根據副檔名判斷是否為要求的圖片

if (!extUpp.matches("^[(JPG)|(PNG)|(GIF)]+$")) {
            imgInfo.setResult("error");
            imgInfo.setMessage("請上傳PNG、JPG、GIF格式的檔案!");
            return false;
        }
        //根據圖片內容判斷是否為圖片檔案


        InputStream inputStream = uploadImg.getInputStream();
        BufferedImage bi = ImageIO.read(inputStream);
        if(bi == null){
            imgInfo.setResult("error");
            imgInfo.setMessage("此檔案不為圖片檔案");
            return false;
        }

//限制圖片的大小
        if (uploadImg.getSize() > 0.512 * 1024 * 1024) {
            imgInfo.setResult("error");
            imgInfo.setMessage("請上傳512kb以內的檔案!");
            return false;
        }
        return true;
    }