java对前端传来的图片进行格式效验

it2024-12-08  10

针对前端传来的  单个  图片进行格式效验:

final String IMG_FORMAT = "png_jpg_bmp_gif_tif_jpeg_pcx_PNG_JPG_BMP_GIF_TIF_JPEG_PCX"; /** * 针对图片内容的格式效验。 * 分别以: * 1:判断后缀名的方式判断是否为图片 * 2:以imageIO流的方式验证是否为图片 * * @author lihao * @param mFile * @return boolean */ public boolean isImage(MultipartFile mFile) { //获取文件后缀 String suffix = mFile.getOriginalFilename().substring(mFile.getOriginalFilename().lastIndexOf(".") + 1); if (IMG_FORMAT.indexOf(suffix) == -1) { return false; } //以imageIO流的方式对图片进行格式检查 Image img = null; File file = null; try { file = File.createTempFile("tmp", null); mFile.transferTo(file); img = ImageIO.read(file); if (img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0) { return false; } return true; } catch (Exception e) { return false;} finally { //将临时文件删除 if(file.exists()){file.delete();} } }

 

 

最新回复(0)