java - 如何确定正确的 MIME 类型

标签 java mime-types

目前我正在使用

MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();
String mimeType = mimeTypesMap.getContentType(logAttachmentFile.getFilePath());

例如,这对于 .jpg 来说效果很好,但是大多数其他文件类型返回为 application/octet-stream (.xls、.docx、.png),从而使我无法显示该文件。有没有办法在没有第三方库的情况下确定正确的文件类型?如果不是,最好的选择是什么?

最佳答案

我相信不错的选择是 Apache Tika 。 它检测到的格式范围相当大:http://tika.apache.org/1.16/formats.html

它不仅使用文件名,还使用文件中的字节(如果文件很大,您可以只指定文件的一些前缀)。 而且您可以非常轻松地对其进行自定义。

关于java - 如何确定正确的 MIME 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42864031/

相关文章:

java - 如何防止命令行 java 进程在 OSX 中窃取焦点?

grails - 从 Grails Controller 渲染视频内容

mime - MIME 类型的 URN

android - android 中的 getContent() 将输出作为 MimeMultiPart,但我实际上想要电子邮件正文内容

ruby - 使用 Sinatra 提供 XHTML

java - 确定哪些用户的 session 已失效

java - 如何避免finally block 不执行的情况

java - 这种错误背后的原因是什么?

java - Hibernate事务处理问题

Android 类型 "vnd.android"