use*_*535 3 java file-type image
我需要从用户输入文件中获取文件,该文件应仅为指定类型的图像。仅JPEGs。其他文件必须被拒绝。
所以我对文件实施了朴素的基本检查
fileName.toLowerCase().endsWith(".jpg") || fileName.toLowerCase().endsWith(".jpeg")
Run Code Online (Sandbox Code Playgroud)
因此,如果用户上传了file.png,则该文件将被拒绝。但是后来用户意识到,如果他们只是将file.png重命名为file.jpg,那么该文件将被上传。
是否可以仅JAVA SDK使用外部jar 来检测提供的文件是否为给定类型的有效图像?(请注意,我仍在使用JDK6)。谢谢。
进行一些幼稚的检查以将JPEG与PNG分开应该相对容易。根据Wikipedia的介绍,JPEG文件始终以开头FF D8。但是,PNG似乎是以开头的89 50,因此只需从文件中读取一个或两个字节就可以轻松地区分两者。
我建议您查找最重要的图像类型的文件格式,以确保没有其他以开头的主流格式FF D8。但是,似乎不太可能。
编辑:JPEG,PNG,GIF,BMP和TIFF似乎在文件开头都具有神奇的值,以区别于其他类型。
| 归档时间: |
|
| 查看次数: |
6984 次 |
| 最近记录: |