获取 java.io.File MIME 的最佳方法 输入 java 8

Best way to get java.io.File MIME Type in java 8

要获取我正在尝试使用的文件 mime 类型:

String mimeType = new MimetypesFileTypeMap().getContentType(document);

但总是returnsapplication octet stream

当我尝试使用

String mimeType = Files.probeContentType(document.toPath()); 它总是 returns null

我试图获取其 MIME 类型的文档类型是:java.io.File

知道我该怎么做吗? 我已经在使用 Spring,spring 中是否有任何内容可以处理文件 mime 类型?

谢谢

最后我用了一个对象“org.apache.cxf.jaxrs.ext.multipart.Attachment”而不是 java.io.File

您可以轻松处理附件

要获取 mimeType,您可以使用

public String getMimeType(Attachment document){
    String mimeType = document.getDataHandler().getContentType();
    return mimeType;
}

要获取文档大小,您可以使用:

public int getSize(Attachment document){
    byte[] documentInByte;
    try {
        documentInByte = 
        IOUtils.toByteArray(document.getDataHandler().getInputStream());
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }

    return data.length;
}