如何获取没有扩展名的文件的内容类型?

时间:2014-01-18 09:09:21

标签: java mime-types file-type

我保存了所有类型的文件而没有扩展名。阅读Java代码时,如何获取文件的内容类型?

File file = "/admin/sun"
byte[] pdfByteArray = FileUtils.readFileToByteArray(file);
if (fileName.endsWith(".pdf")) {
    response.setContentType("application/pdf");
} else {
    response.setContentType("image/jpeg");
}
response.getOutputStream().write(pdfByteArray);
response.getOutputStream().flush();

如果文件扩展名.pdf或.jpeg正在运行,那么没有扩展名如何获取内容类型是什么?

2 个答案:

答案 0 :(得分:3)

在jdk7中使用Files.probeContentType(path)。或者根据不同的文件类型规范自己检测文件类型。说pdf http://www.adobe.com/devnet/pdf/pdf_reference.html

答案 1 :(得分:1)

您最好不要依赖扩展程序。找到文件的mime类型。

请参阅此问题:Getting A File's Mime Type In Java

您必须使用Files.probeContentType(path)阅读mime类型。

有关mime types

的更多相关信息