素材牛VIP会员
Java平台如何判断用户上传的文件是否是图片
 你***饭  分类:Java代码  人气:769  回帖:4  发布于6年前 收藏

RT,Java语言如何判断用户上传的文件是否是图片,网上搜索了一下,提供了两种思路:
第一是校验文件后缀(很弱);
第二是获取图片的宽度和高度,说是能获取到宽高基本上就可以认定是图片了,问下这两种方式组合使用是否就可以确定一个文件是否是图片???

 标签:java

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv5 码农
牛***满 产品经理 6年前#1

http://blog.pfan.cn/txdnet/49...

Lv2 入门
阿***逗 移动开发工程师 6年前#2

通过文件流的前4个字节能判断出文件类型,网上有工具类。

Lv4 码徒
蝶***7 UI设计师 6年前#3

有两种方法,一种时通用的判断所有文件真实类型的方式: 取输入流前几个字节进行判断,是什么文件从前几个字节就可以判断出来,另一种方式针对判断图片,是直接把输入流转换成 Image 类,调用查看高度或宽度的方法,若是报错,则不是图片。具体思路给出来啦,剩下的谷歌百度嘛,学学用搜索引擎,代码我就不给了

Lv4 码徒
日***天 职业无 6年前#4

判断MIME类型。

图片类型

图片类型是在网页中使用的,唯一被广泛识别以及考虑过web安全的类型:

MIME 类型     图片类型
image/gif     GIF 图片 (无损耗压缩方面被PNG所替代)
image/jpeg     JPEG 图片
image/png     PNG 图片
image/svg+xml     SVG图片 (矢量图)

此处的类型划分有一定的争议,有人认为此处应该增加 WebP (image/webp)
,但是每个新增的图片类型都会增加代码的数量,这会带来一些新的安全问题,所以浏览器供应商对于添加类型非常小心。

另外的一些图片种类可以在Web文档中找到。比如很多浏览器支持 icon 类型的图标作为
favicons或者类似的图标,并且浏览器在MIME类型中的 image/x-icon 支持ICO图像。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取