作者:骁炉 | 来源:互联网 | 2022-04-25 09:00
先给大家介绍下java判断上传图片格式。
由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以
//判断是否是JPG格式
log.info("-1----进入JPG格式判断.....");
ImageInputStream iis = ImageIO.createImageInputStream(file.getInputStream());
Iterator iter = ImageIO.getImageReaders(iis);
if (!iter.hasNext()) {
throw new RuntimeException("No readers found!");
}
ImageReader reader = iter.next();
log.info("Format1: " + reader.getFormatName()); //这里会打印出图片的格式
if(!"JPEG".equals(reader.getFormatName())){
return new ResponseBean(ResponseBean.FAIL, "不支持修改后缀名为jpg的图片");
}
iis.close();
PS:Java使用文件头的类型判断上传的文件是否为图片类型
web判断文件的格式的时候,我们一般都是通过扩展名来判断,这个有点不太靠谱和安全,例如,修改文件名的后缀即可绕过判断。一般要判断是利用头文件来判断。下面是利用头文件来判断的代码:
package com.metro.crm.util;
import java.io.FileInputStream;
public class FileType{
public static String bytesToHexString(byte[] src) {
StringBuilder stringBuilder = new StringBuilder();
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i
总结
以上所述是小编给大家介绍的Java判断上传图片格式的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!