Java判断上传图片格式的实例代码
先给大家介绍下java判断上传图片格式。
由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以
//判断是否是JPG格式 log.info("-1----进入JPG格式判断....."); ImageInputStreamiis=ImageIO.createImageInputStream(file.getInputStream()); Iteratoriter=ImageIO.getImageReaders(iis); if(!iter.hasNext()){ thrownewRuntimeException("Noreadersfound!"); } ImageReaderreader=iter.next(); log.info("Format1:"+reader.getFormatName());//这里会打印出图片的格式 if(!"JPEG".equals(reader.getFormatName())){ returnnewResponseBean(ResponseBean.FAIL,"不支持修改后缀名为jpg的图片"); } iis.close();
PS:Java使用文件头的类型判断上传的文件是否为图片类型
web判断文件的格式的时候,我们一般都是通过扩展名来判断,这个有点不太靠谱和安全,例如,修改文件名的后缀即可绕过判断。一般要判断是利用头文件来判断。下面是利用头文件来判断的代码:
packagecom.metro.crm.util; importjava.io.FileInputStream; publicclassFileType{ publicstaticStringbytesToHexString(byte[]src){ StringBuilderstringBuilder=newStringBuilder(); if(src==null||src.length<=0){ returnnull; } for(inti=0;i总结
以上所述是小编给大家介绍的Java判断上传图片格式的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!