【发布时间】:2012-11-06 09:51:44
【问题描述】:
我从 Java 中的队列中获取文件。它们可能是以下格式。
- docx
- 文档
- xls
- xlsx
- txt
- rtf
在阅读了它们的扩展之后,我想验证它们是否真的是这些类型的文件。
例如,我得到一个文件并检查它是否具有扩展名 .xls。之后,我想检查它实际上是一个 .xls 文件还是有人在更改其扩展名后上传的其他格式的文件。
编辑:我想通过实际检查文件的内容而不是扩展名来检查文件的 MIME 类型。怎么做?
【问题讨论】:
-
您确定需要这样做吗?您不能将文件传递给需要使用它的任何进程,并在文件无效时处理异常吗?
-
另外,如果不指定一些任意限制,您将无法验证 .txt 文件。
-
@Duncan ...实际上该文件正在存储到文件系统中。所以在我们存储之前,我们要检查它是否是有效的文件。有道理吗?
-
不适合我,恐怕。如果文件在我开始使用时有效,我会更感兴趣。特别是,该问题的任何解决方案都将无法扩展,需要对每种新支持的文件类型进行更改。
标签: java excel pdf file-upload ms-word