广告
返回顶部
首页 > 资讯 > 后端开发 > Python >springboot实现图片大小压缩功能
  • 904
分享到

springboot实现图片大小压缩功能

2024-04-02 19:04:59 904人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了SpringBoot实现图片大小压缩的具体代码,供大家参考,具体内容如下 application.properties配置文件 #后端接收图片大小 spring.

本文实例为大家分享了SpringBoot实现图片大小压缩的具体代码,供大家参考,具体内容如下

application.properties配置文件

#后端接收图片大小
spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB

java工具类

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
/

    public static byte[] imageSet(byte[] fromPath1) throws Exception {
        return imageChangeSize(fromPath1, 470, 635);
    }

    
    public static byte[] imageChangeSize(byte[] data, int max_wi, int max_he) throws Exception {
        ImageIO io = null;
        float rate = 1;
        
        int oldwi;
        
        int oldhe;
        
        int new_wi = 0;
        
        int new_he = 0;
        
        InputStream is = new ByteArrayInputStream(data);
        BufferedImage bufImg = ImageIO.read(is);
        
        oldwi = bufImg.getWidth();
        
        oldhe = bufImg.getHeight();
        //
        rate = (float) oldwi / (float) oldhe;
        
        if (oldwi > max_wi && oldhe <= max_he) {
            new_wi = max_wi;
            new_he = new Float((float) new_wi / rate).intValue();
            
        } else if (oldwi >= max_wi && oldhe >= max_he || oldwi <= max_wi && oldhe <= max_he) {
            new_he = max_he;
            new_wi = new Float(new_he * rate).intValue();
            
        } else if (oldwi <= max_wi && oldhe > max_he) {
            new_he = max_he;
            new_wi = new Float(new_he * rate).intValue();
        }
//        System.err.println("原宽度:" + oldwi + "原高度:" + oldhe + "_" + rate);
        
        ImageObserver ser = null;
        BufferedImage bf = new BufferedImage(new_wi, new_he, BufferedImage.TYPE_INT_RGB);
        bf.getGraphics().drawImage(bufImg, 0, 0, new_wi, new_he, null);
//        System.err.println("新宽度:" + bf.getWidth() + "-" + "新高度:" + bf.getHeight());
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        //转换编码格式JPEG
        ImageIO.write(bf, "jpeg", out);
        byte[] re = out.toByteArray();
        //logger.info("【图片剪切】| 图片原大小={}kb | 压缩后大小={}kb", (data.length / 1024), (re.length / 1024));
        return re;
    }

使用

controller

@RequestMapping(value = "/getImage", method = RequestMethod.POST)
@ResponseBody
    public JSONData getidcart(@RequestParam(value = "front", required = false) MultipartFile front) throws Exception {
        byte[] IdCartFront;
        
        if (front.getSize() > SIZE_DEFUALT) {
            IdCartFront = ImageUtils.imageSet(front.getBytes());
        } else {
            IdCartFront = front.getBytes();
        }

页面

<!--身份证正面-->
<div class="photo" id="photo" enctype="multipart/fORM-data">
         <input type="file" multiple="multiple" accept="image
function getImg(e, eId, next) {
    var imgFile = e.target.files[0];
    var newImgFile = window.WEBkitURL.createObjectURL(imgFile);
    document.getElementById("" + eId + "").style.backgroundImage = "url(" + newImgFile + ")";

    if (next == 1) {
        front = imgFile;
    } else if (next == 2) {
        back = imgFile;
    } else if (next == 3) {
        face = imgFile;
    }
}
//ajax:
************************
//将file文件转为formdata,Ajax传到后台
    formData = new FormData();
    formData.append('front', front);
  
               url: url,
            type: 'POST',
            cache: false,
            data: formData,
            processData: false,
            contentType: false,

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: springboot实现图片大小压缩功能

本文链接: https://www.lsjlt.com/news/146942.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot实现图片大小压缩功能
    本文实例为大家分享了springboot实现图片大小压缩的具体代码,供大家参考,具体内容如下 application.properties配置文件 #后端接收图片大小 spring....
    99+
    2022-11-13
  • springboot怎么实现图片大小压缩功能
    本篇内容主要讲解“springboot怎么实现图片大小压缩功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot怎么实现图片大小压缩功能”吧!application.proper...
    99+
    2023-06-30
  • java实现上传图片并压缩图片大小功能
    Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式...
    99+
    2023-05-31
    java 上传图片 压缩图片
  • Java实现压缩图片大小
    本文实例为大家分享了Java实现压缩图片大小的具体代码,供大家参考,具体内容如下 使用场景: 1.当使用图片上传功能时,上传图片太大,造成对服务器资源过多的占用2.客户端上传图片尺寸...
    99+
    2022-11-13
  • php实现图片压缩功能
    简述: 使用php的GD库可以将图片按固定宽高或者等比例压缩,主要利用的函数是: imagecopyresampled:将一张图片中的一块区域复制到另一张图片上 等比例压缩   public function compressImg($sr...
    99+
    2023-08-31
    php 开发语言
  • Java如何实现压缩图片大小
    本篇内容主要讲解“Java如何实现压缩图片大小”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java如何实现压缩图片大小”吧!使用场景:当使用图片上传功能时,上传图片太大,造成对服务器资源过多的...
    99+
    2023-06-30
  • windows7怎样压缩图片大小
    windows7电脑中客户要如何操作才能压缩图片大小呢,用户可以通过系统自带的画图板作用开启要缩小的图片,随后点击图片另存为,能选将图片保存为JPEG格式,那样就能轻松缩小图片的大小啦,将图片缩小小点,这样就不会占用过多的存储空间啦,系统都...
    99+
    2023-07-11
  • 微信小程序图片压缩功能的实现方法
    微信小程序图片压缩功能的实现方法 :1、在 wx.chooseImage 接口选择相机图片。2、在 wx.getImageInfo 接口获取图片信息。3、计算压缩比例和最终图片的长宽。4、创建 canvas 绘制最终图片。5、在 wx.ca...
    99+
    2022-10-07
  • android开发中项目实现一个图片压缩功能并能指定大小
    android开发中项目实现一个图片压缩功能并能指定大小?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先是一个根据分辨率压缩的类,首先对图片进行一次压缩 ...
    99+
    2023-05-31
    android roi
  • JavaScript中怎么实现图片压缩功能
    JavaScript中怎么实现图片压缩功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。压缩思路涉及到 JS 的图片压缩,我的想法是需要用...
    99+
    2022-10-19
  • element前端实现压缩图片的功能
    目录前言实现效果实现步骤前言 随着现在手机像素,拍照功能越来越好,随之而来的是本地图片越来越大,那么如何更好的将本地图片上传到后端接口呢?这是后台管理系统常见的场景和头疼的问题,这里...
    99+
    2023-03-01
    element 压缩图片 vue 压缩图片
  • Android中怎么实现图片压缩功能
    Android中怎么实现图片压缩功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、图片质量压缩    public s...
    99+
    2023-05-31
    android
  • element前端如何实现压缩图片功能
    这篇文章主要讲解了“element前端如何实现压缩图片功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“element前端如何实现压缩图片功能”吧!实现效果如下图所示,从 580kb -&g...
    99+
    2023-07-05
  • 如何利用canvas实现图片压缩功能
    小编给大家分享一下如何利用canvas实现图片压缩功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!项目中做身份证识别时,需要传送图片的 base64 格式编码,...
    99+
    2023-06-09
  • H5如何实现图片压缩与上传功能
    这篇文章主要为大家展示了“H5如何实现图片压缩与上传功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5如何实现图片压缩与上传功能”这篇文章吧。canvas压...
    99+
    2022-10-19
  • 图片批量压缩大小脚本分享
    压缩图片时用的一个脚本,先安装下#ImageMagick# #!/bin/bash # yum install ImageMagick # cd /img/dir for file in */*.jpg;...
    99+
    2022-06-04
    批量 脚本 大小
  • 计算机中如何压缩图片大小
    小编给大家分享一下计算机中如何压缩图片大小,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  步骤讲解:  步骤一:在电脑上新建一...
    99+
    2022-10-18
  • 基于RxPaparazzo实现图片裁剪、图片旋转、比例放大缩小功能
    前言:基于RxPaparazzo的图片裁剪,图片旋转、比例放大|缩小。效果: 开发环境:AndroidStudio2.2.1+gradle-2.14.1 涉及知识:Material Design(CardView+Coo...
    99+
    2023-05-31
    rxpaparazzo 图片裁剪 para
  • Android开发实现图片大小与质量压缩及保存
    目录Android中图片有四种属性Android目前常用图片格式使用大小压缩质量压缩混合方式压缩采样率压缩图片保存到本地Android中图片有四种属性 ALPHA_8:每个像素占用1...
    99+
    2022-11-13
  • Android中怎么实现图片压缩与上传功能
    Android中怎么实现图片压缩与上传功能,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先需要对图片进行压缩,这方面可以使用第三方的库,我在实际的开发中使用的...
    99+
    2023-05-30
    android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作