【发布时间】:2016-07-08 10:33:48
【问题描述】:
我必须在上传时找到文件的原始内容类型(MIME 类型)。
我只想允许 PDF 文件,但如果我将 .exe 文件重命名为 .pdf 文件,其类型显示为 pdf。
我想限制这类文件。
我正在使用以下代码:
if (!fileMultipart.getContentType().equalsIgnoreCase("application/pdf")) {
msg = "Only pdf files are allowed.";
System.out.println("Only pdf files are allowed.");
}
还有一些在线工具可用于查找原始内容类型。我尝试使用 http://www.checkfiletype.com/ 并且它有效。
【问题讨论】:
-
你不能做任何容易的事。问题不在于您,如果您从中下载文件的服务器将文件键入为 pdf,那么您将无法做任何更聪明的事情。您可以尝试验证文件本身是否有 PDF 标题,但我不确定是否值得努力,或者?
标签: java security spring-security mime-types multipart