maven
<dependency><groupId>net.coobird</groupId><artifactId>thumbnailator</artifactId><version>0.4.8</version>
</dependency>

工具

前端文件直接压缩:来自https://www.cnblogs.com/jinjian91/p/10107208.html

 @PostMapping(value = "/upLoadFile")
@ApiOperation(value = "上传文件")
public Result upLoadFile(@RequestParam("file") MultipartFile file) {try {log.info("上传文件大小:" + file.getSize() / 1024 + "kb;文件名称:" + file.getOriginalFilename());ByteArrayOutputStream byteArrayOutputStreamut = new ByteArrayOutputStream();Thumbnails.of(file.getInputStream()).scale(0.08f)//放大还是缩小.outputQuality(0.5f)//图片质量.toOutputStream(byteArrayOutputStreamut);log.info("压缩后文件大小:" + byteArrayOutputStreamut.toByteArray().length / 1024 + "kb;");//下面是上传到阿里云。。。可以忽略return Result.success(uploadFile.uploadAndReturnUrl(file.getInputStream(), file.getOriginalFilename()));} catch (IOException e) {e.printStackTrace();}return Result.fail("上传文件失败");
}

2其他压缩:来自https://blog.csdn.net/zzprongyi/article/details/90080316?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

import net.coobird.thumbnailator.Thumbnails;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;/*** 图片压缩* @author*/
@Slf4j
public class ImageCompressUtil {/*** 图片质量压缩,不改变大小* @param file* @param destPath* @param quality* @return* @throws IOException*/public static String compressImage(File file, String destPath, float quality) {try {if (!file.exists()) {log.error("compressImage file not found 文件不存在");throw new FileNotFoundException("文件不存在");}File destFile = new File(destPath);if (!destFile.exists() && destFile.isDirectory()) {destFile.mkdirs();}String destFileUrl = destPath + File.separator + file.getName();Thumbnails.of(file).scale(1f).outputQuality(quality).toFile(destFileUrl);return destFileUrl;} catch (IOException e) {log.error("e");return "";}}/*** 压缩图片* @param httpUrl  图片地址* @param destPath* @return*/public static String compressHttpUrl(String httpUrl, String destPath) {try {URL url = new URL(httpUrl);HttpURLConnection connection = (HttpURLConnection)url.openConnection();InputStream input = connection.getInputStream();String destUrl = destPath + httpUrl.substring(httpUrl.lastIndexOf('/'));Thumbnails.of(input).scale(1f)
//                    .size(200, 500)   大小
//                    .outputQuality(0.5f) 质量
//                    .outputFormat("jpg") 图片格式
//                    .useOriginalFormat() 使用原文件格式.toFile(destUrl);input.close();return destUrl;} catch (IOException e) {log.error("压缩图片异常");return "";}}public static void main(String[] args) {
//        String url = "";
//        String destPath = "C:/test/image";
//        compressImage(new File(url), destPath, 0.25f);
//        compressHttpUrl(url, destPath);}
}

Thumbnails图片压缩相关推荐

  1. java使用Thumbnails图片压缩

    Thumbnails图片压缩 这个很早之前就发在协会的博客园里了,链接在此Thumbnails图片压缩 每次上传图片到服务器的时候,都会由于图片过大导致加载很长时间,然后就想使用图片压缩可以稍微减轻一 ...

  2. Thumbnails图片压缩处理工具

    Thumbnails是google公司开源的图片压缩.处理的工具,可以对图片按大小或比例缩放.旋转.加水印.裁剪等. 1.pom.xml引入 <!--图片压缩工具--><depend ...

  3. Java 图片压缩(Thumbnails)

    https://www.cnblogs.com/zhaosq/p/13896446.html Java 图片压缩(Thumbnails)

  4. 图片压缩 Thumbnails

    图片压缩核心代码 Thumbnails.of(new File("源文件")).scale(1f) // 图片大小(长宽)压缩比例 从0-1,1表示原图.outputQuality ...

  5. java thumbnails 中心点_java Thumbnails 图片处理的使用

    在后端开发的过程中,都逃不开与文件传输特别是图片的传输打交道,但是因为现在各种拍照设备发展越来越快,拍出的照片更是越来越清晰,但是照片文件的大小也是越来越大了,手机拍照小则2M大则30M这在网络传输过 ...

  6. java图像处理002---JAVA图片压缩_图片缩放_图片按照比例缩放_图片指定长宽缩放_Java使用google开源工具Thumbnailator实现图片压缩

    JAVA技术交流QQ群:170933152 前言 作为靠谱的java服务端程序员,图片这个事情一直是个头疼的事情. 现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的都是高 ...

  7. Java实现图片压缩且不改变原图尺寸

    最近工作中涉及图片压缩相关的操作,需求如下: 大于2MB的图片需要压缩到2MB以下,且不改变原图的尺寸 引入依赖: <dependency><groupId>net.coobi ...

  8. Thumbnailator的简介和使用范例(图片压缩)

    1.简单介绍 借用红薯对Thumbnailator 的描述:Thumbnailator是一个用来生成图像缩略图的 Java类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图 ...

  9. java高清无损图片压缩

    Java高清无损图片压缩 (本文禁止转载,如需转载请联系本人:微信/QQ同号:969987665) 简单介绍 thumbnailator-0.4.5.jar 官方下载网址 语法使用(超级简单的,再也没 ...

最新文章

  1. Java 垃圾回收机制,13张图给你讲清楚!
  2. TCP、UDP和HTTP
  3. mysql数据优化--数据库结构的优化
  4. 【汇编语言】镜像迁移能力之一通百通——由代码段和CS:IP的原理,掌握一类寄存器的使用
  5. docker查找镜像_5 款非常好用的开源 Docker 工具,get一波~
  6. java 防止sql注入的方法(非原创)
  7. grep配置颜色显示
  8. tcp协议报文和三次握手与四次挥手
  9. 大数据可视化的价值体现在哪
  10. 【渝粤教育】国家开放大学2018年秋季 0676-22T物流成本管理 参考试题
  11. python排版word文档 效率_5秒搞定Word排版,效率颠覆你的想象!
  12. java基础练习题(含答案共39道)-语言基础篇
  13. 关于2015年春运增开旅客列车的公告
  14. 高通SDX55平台:Modem Loopback测试指导
  15. 《中国近代史纲要》思维导图复习版
  16. 一文系统搞懂协同推荐算法(二)
  17. 大数据信息资料采集:百度地图腾讯地图高德地图商家信息采集
  18. 索尼android sd卡上,SD卡各个文件夹功能详解 入手必看经验!!!!
  19. python图片拼接成特定图案_Python 把几张图片拼接成一张图片,并且写上文字
  20. [数据结构与算法]输出1~10000中的对称数

热门文章

  1. PostgreSQL数据库集簇
  2. 【Builder设计模式】
  3. Check Point增强安全访问服务边缘,安全连接远程和混合劳动力
  4. 教资笔记整理综合素质(1)——职业理念(教育观、学生观、教师观)
  5. java 生成的临时pdf文件无法删除
  6. 电脑时间校对后不自动更新要如何解决
  7. echarts图点击按钮放大或者缩小
  8. [公告]本博客已迁移到 tpu01yzx.me
  9. SSD-MobileNetv2之Ubuntu18.04训练VOC格式数据集-超详细
  10. 【多线程】浅说Synchronized