我保存了所有类型的文件而没有扩展名。阅读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正在运行,那么没有扩展名如何获取内容类型是什么?
答案 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类型。