java如下,这里建议不要关闭流,要不然你其他地方获取不到了
/**
* 根据文件流判断图片类型
* @param fis
* @return jpg/png/gif/bmp
*/
public static String getPicType(InputStream is) {
//读取文件的前几个字节来判断图片格式
byte[] b = new byte[4];
try {
is.read(b, 0, b.length);
String type = HexUtil.byteToHexStr(b).toUpperCase();
if (type.contains("FFD8FF")) {
return "jpg";
} else if (type.contains("89504E47")) {
return "png";
} else if (type.contains("47494638")) {
return "gif";
} else if (type.contains("424D")) {
return "bmp";
} else {
return "unknown";
}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(is != null){
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}