如何从byte [](Blob)获取文件类型扩展名

sen*_*ale 9 java

如何从byte[](Blob)获取文件类型扩展名.我正在从DB读取文件,byte[]但我不知道如何自动检测文件扩展名.

Blob blob = rs.getBlob(1);
byte[] bdata = blob.getBytes(1, (int) blob.length());
Run Code Online (Sandbox Code Playgroud)

aio*_*obe 12

你的意思是你想获得blob存储内容的文件的扩展名?那么如果BLOB存储jpeg文件的内容,你想要"jpg"吗?

一般来说这是不可能的.您可以通过使用Apache Tikas内容检测等一些启发式方法做出相当好的猜测.

然而,更好的解决方案是将mime类型(或原始文件扩展名)存储在单独的列中,例如a VARCHAR.