是否可以从其字节数组内容中找到图像文件扩展名?

时间:2014-10-17 13:35:32

标签: java database image bytearray

将图像文件作为字节数组存储到数据库中,是否可以从字节数组内容中找到图像文件扩展名?

我可以从数据库中获取字节数组。我需要将图像文件显示在屏幕上。

在显示之前,我希望获得图像文件扩展名,例如.png.jpg.jpeg等。

2 个答案:

答案 0 :(得分:5)

大多数文件格式在开头都有一个“Magic Number”,以几个字节的形式表示它是什么文件。

GIF以“GIF89a”或“GIF87a”开头,即字节47,49,46,38,39,61或47,49,46,38,37,61(均为十六进制)

JPEG以FF,D8开头,以FF,D9

结束

PNG以89,50,4E,47,0D,0A,1A,0A开始

Wikipedia

上查看有关Magic Numbers的更多信息

对于其他格式,您可以谷歌魔术数字。有些人没有。

答案 1 :(得分:1)

Java Mime Magic Library也可以在这里提供帮助(它是一个用于确定文件或流的MIME类型的Java库)。

https://github.com/arimus/jmimemagic

http://sourceforge.net/projects/jmimemagic/