You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tika检测Office文件时返回application/x-tika-ooxml而非对应MIME类型

Apache Tika 2.9.0 识别Office文件MIME类型异常问题

问题说明

使用Apache Tika(依赖tika-core 2.9.0)检测文件类型时,docx、doc、xls文件均被识别为application/x-tika-ooxml,而非各自对应的标准MIME类型。自行编写determineFileExtension方法映射MIME类型与扩展名,尝试修改该通用类型对应的扩展名,但问题仍未解决。pdf、mp4、jpeg等其他格式可正常识别。

代码实现

private static String determineFileExtension(String mimeType) {
        String fileExtension = "";
        if (mimeType != null) {
            if (mimeType.equalsIgnoreCase("application/pdf")) {
                fileExtension = ".pdf";
            } else if (mimeType.equalsIgnoreCase("application/vnd.ms-excel")) {
                fileExtension = ".xls";
            } else if (mimeType.equalsIgnoreCase("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) {
                fileExtension = ".xlsx";
            } else if (mimeType.equalsIgnoreCase("image/jpeg")) {
                fileExtension = ".jpg";
            } else if (mimeType.equalsIgnoreCase("video/mpeg")) {
                fileExtension = ".mpeg";
            } else if (mimeType.equalsIgnoreCase("video/mp4")) {
                fileExtension = ".mp4";
            } else if (mimeType.equalsIgnoreCase("application/x-tika-ooxml")) {
                fileExtension = ".xlsx";
            } else if (mimeType.equalsIgnoreCase("application/x-tika-msoffice")) {
                fileExtension = ".xls";
            } else if (mimeType.equalsIgnoreCase("text/plain")) {
                fileExtension = ".txt";
            } else if (mimeType
                    .equalsIgnoreCase("application/vnd.openxmlformats-officedocument.wordprocessingml.document")) {
                fileExtension = ".docx";
            } else if (mimeType.equalsIgnoreCase("application/vnd.ms-powerpoint")) {
                fileExtension = ".ppt";
            } else if (mimeType
                    .equalsIgnoreCase("application/vnd.openxmlformats-officedocument.presentationml.presentation")) {
                fileExtension = ".pptx";
            } else if (mimeType.equalsIgnoreCase("video/avi")) {
                fileExtension = ".avi";
            } else if (mimeType.equalsIgnoreCase("application/x-zip-compressed")) {
                fileExtension = ".zip";
            } else if (mimeType.equalsIgnoreCase("image/png")) {
                fileExtension = ".png";
            } else if (mimeType.equalsIgnoreCase("application/msword")) {
                fileExtension = ".doc";
            } else {
                LOGGER.error("Unknown mimeType  " + mimeType);
            }
        }
        return fileExtension;
    }

内容的提问来源于stack exchange,提问作者Esphi01

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:21:07