【发布时间】:2014-02-03 16:41:11
【问题描述】:
我需要从用户输入文件中获取,该文件应该是指定类型的图像。例如。只有JPEGs。其他文件必须被拒绝。
所以我对文件实施了简单的基本检查
fileName.toLowerCase().endsWith(".jpg") || fileName.toLowerCase().endsWith(".jpeg")
所以如果用户上传了 file.png,这个文件就会被拒绝。但是后来用户意识到,如果他们只是将file.png重命名为file.jpg,文件就会被上传。
有没有办法检测提供的文件是否是给定类型的有效图像,只使用JAVA SDK 而不使用外部 jar? (注意我仍在使用 JDK6)。谢谢。
【问题讨论】:
-
您可能想在这里重新考虑您的用户体验。图片是JPG还是PNG真的很重要吗?
-
@Tim B 好吧,这是一个要求,我只能服从它。还有其他进程依赖于指定的文件格式。
-
您可以使用 ImageIO 将 PNG 转码为 JPG。如果您确实需要限制它们,那么下面的答案应该涵盖它。