读取数据库中blob字段判断blob对象文件类型
时间: 2023-08-22 08:05:15 浏览: 244
读取数据库中的 blob 字段,可以把它转换成二进制数组,然后使用一些开源库来判断文件类型。
在 Java 中,可以使用 Apache Tika 来判断文件类型。具体步骤如下:
1. 读取数据库中的 blob 字段,转换成二进制数组。
2. 创建一个 Tika 对象,用于判断文件类型。
3. 调用 Tika 对象的 `detect` 方法,传入二进制数组,获取文件类型。
示例代码如下:
```java
import org.apache.tika.detect.Detector;
import org.apache.tika.detect.MagicDetector;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.mime.MediaType;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.sax.BodyContentHandler;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
// 读取数据库中的二进制数组
byte[] blobData = getBlobDataFromDatabase();
// 创建 Tika 对象
Detector detector = new MagicDetector();
Parser parser = new AutoDetectParser(detector);
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext context = new ParseContext();
// 将二进制数组转换成 InputStream
InputStream stream = new ByteArrayInputStream(blobData);
// 调用 Tika 的 detect 方法获取文件类型
MediaType mediaType = detector.detect(stream, metadata);
// 输出文件类型
System.out.println("File type: " + mediaType.toString());
```
这样就可以判断 blob 对象的文件类型了。
阅读全文