您可以使用 Tika 的 Detector 接口来获取文件的 MimeType。以下是一个示例代码片段:

@Autowired
private Tika tika;

public String getMimeType(MultipartFile file) throws IOException {
    InputStream stream = file.getInputStream();
    Metadata metadata = new Metadata();
    metadata.add(Metadata.RESOURCE_NAME_KEY, file.getOriginalFilename());
    MediaType mediaType = tika.getDetector().detect(TikaInputStream.get(stream), metadata);
    return mediaType.toString();
}

在这个示例中,我们注入了一个 Tika 对象,然后使用它的 Detector 接口来检测文件的 MimeType。我们首先从 MultipartFile 对象中获取文件的 InputStream,然后创建一个 Metadata 对象并将文件名作为 RESOURCE_NAME_KEY 添加到元数据中。接下来,我们使用 TikaInputStream 包装 InputStream,并调用 Detector 接口的 detect 方法来获取文件的 MediaType。最后,我们返回 MediaType 对象的字符串表示形式作为文件的 MimeType

我使用 MultipartFile 接收的文件我怎么样才能通过 Tika 来获取文件的 MimeType 呢?

原文地址: https://www.cveoy.top/t/topic/fpwk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录