Apache Tika 检测二进制资源类型

叙述

使用 Apache Tika 检测二进制资源类型,获取类型。

为什么不读文件后缀名呢?应为后缀名是可以随便修改,并上传的。一点都不准确,所以不能采用这种方法。

使用步骤

Tika类型检测

Tika支持MIME所提供的所有互联网媒体文件类型。每当一个文件通过Tika检测到该文件,其文件类型。检测的介质类型,Tika内部通过以下机制。

MIME标准

多用途Internet邮件扩展(MIME)标准,用于识别文件类型的最佳标准。这些标准的知识有助于在内部相互作用的浏览器。

当浏览器遇到一个媒体文件,它选择可用它来显示其内容的兼容软件。在情况下,它不具有任何合适的应用程序,以运行一个特定媒体文件,它建议用户获得合适的插件软件。

使用Facade类类型检测

facade类的detect() 方法被用于检测文档类型。这个方法接受一个文件作为输入。

下面显示的是文件类型检测与Tika外观类的示例程序。

传入参数为File对象时

@Test
    public void getImageToJPEG() {
        try {
            File file = new File("C:\Users\hww\Downloads\0855fde2df59fa4fe9427e78d773dde5.jpeg");
            Tika tika = new Tika();
            String fileType = tika.detect(file);
            System.out.println(fileType);//image/jpeg
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

输出结果:

image/jpeg

传入参数为文件路径时

@Test
    public void getImageToJPG() {
        try {
            Tika tika = new Tika();
            String fileType = tika.detect("C:\Users\hww\Downloads\95a59c718b2575fdbccf66924c14fcd5.jpg");
            System.out.println(fileType);//image/jpeg
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

输入结果:

image/jpeg

detect()方法参数有以下几种:

发布了22 篇原创文章 · 获赞 30 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/lizhengyu891231/article/details/103289815