java关于验证图片格式,转换图片格式操作

最近项目中遇到要求图片格式相对准确,部分功能需要指定图片格式。前人造轮,后人乘凉。

这里记录一下,方便以后查阅。

1、验证图片格式。

之前做的验证比较简单,只是验证图片文件后缀。但是与pc端对接的时候,他们会验证图片头信息与后缀,不一致会导致图片打不开。(通过文件头判断图片格式算是比较准确的,当然不排除恶意修改文件头,,,此处找不到表情包很苦恼)

废话不多说直接贴代码:

获取文件的byte数组,在获取文件十六进制头信息。

我这里验证的是 jpg格式,对应的文件头为 ff d8 ff e0。这个可以在网上搜到。

2、转换图片格式。

这里用到的是 javax.imageio.ImageIO 包的  ImageIO 类。ImageIO.read()。(该方法支持

 File/InputStream/URL/ImageInputStream。)读取文件。

然后使用 ImageIO.write() 转换文件格式。(方法参数1: RenderedImage类型,调用read方法的返回。参数2:String类型,指定转换后的图片格式。方法参数3: 文件输出,支持类型:File/ImageOutputStream/OutputStream)

下面代码以url为例。

返回byte为转换格式后的文件流。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值