java 处理图片大小问题

本文介绍了一种后端处理图片的方法,包括接收前端上传的图片、转换为Image格式、按比例缩放图片尺寸以及使用thumbnailator库压缩图片质量。

纪念一下今天甲方所提出的要求,要求后端控制前端上传图片的长宽,如果超过1024,需要按比例缩放图片。然后压缩一下图片的质量。

 

一般这种操作都是在前端去做的,但今天这次需要后端去做。所以并没有办法 只能去做啊

 

首先是接收前端的图片,一般都是 MultipartFile 接收,这时候就需要把MultipartFile转成 Image 。转成Image 需要先将MultipartFile

转成File。

FileInputStream in = (FileInputStream) file.getInputStream();

BufferedImage  image = javax.imageio.ImageIO.read(in);      //转成BufferedImage  

然后通过io流,保存到文件夹。

 然后随便说一下压缩图片。压缩图片的质量。图片太多,压缩一下质量。

使用的thumbnailator

需要导包

压缩图片的方法:压缩图片质量的80%

 

 

 

 

Java 开发中,文件格式换是一个高频需求场景,尤其是在涉及图像处理、文件上传下载等功能时。本资源提供的FileFormatUtil工具类,正是为解决这一痛点而生的实用神器! 该工具类集成了五大核心换功能: BufferedImage InputStream:通过bufferedImageToInputStream方法,可将内存中的图像对象无缝换为输入流,为后续的网络传输或文件存储提供便利。 File MultipartFile:fileToMultipartFile方法支持将本地文件快速封装为 Spring 框架中的 MultipartFile 对象,轻松适配文件上传接口。 BufferedImage File:提供两种重载实现,既可以将图像保存到指定路径,也能生成带格式的临时文件,满足不同场景需求。 MultipartFile File:通过multipartFileToFile方法,可将上传的文件对象换为本地文件,便于后续处理。 代码设计亮点: 1.异常处理完善:所有 IO 操作均包含异常捕获,确保程序健壮性 2. 资源管理安全:使用 try-with-resources 模式自动关闭流,避免内存泄漏 3. 临时文件自动清理:通过 deleteOnExit () 机制防止垃圾文件堆积 4. 线程安全设计:所有方法均为静态工具方法,无状态设计支持多线程调用 典型应用场景: 图片处理服务:格式换、水印添加、尺寸调整 文件上传功能:表单提交文件的预处理 缓存优化:将频繁访问的图像为流对象缓存 微服务集成:在服务间传递二进制文件数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值