【SpringBoot】实现一个简单的图片上传

前端上传表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form enctype="multipart/form-data"  method="post" action="/upload">
文件:<input type="file" name="header_img"/>
    <input type="submit" value="上传"  />
</form>
</body>
</html>

后端接口

  • private static  String filePath = "D:\\sprint\\spring\\src\\main\\resources\\static\\upload\\";
    
    @RequestMapping(value="/upload")
    public String upload(@RequestParam("header_img") MultipartFile file,HttpServletRequest request){
        System.out.println("文件名称"+file.getOriginalFilename());
        System.out.println("文件类型"+file.getContentType());
        System.out.println("文件大小"+file.getSize());
        //获取文件名称
        String fileName = file.getOriginalFilename();
        //获取文件后缀名称
        String suffixNmae = fileName.substring(fileName.lastIndexOf("."));
        //转换名称 方舟文件名称冲突
        fileName = UUID.randomUUID()+suffixNmae;
        System.out.println("转换后的文件名称"+fileName);
        File data = new File(filePath + fileName);
        try {
            file.transferTo(data);
        }catch ( IllegalStateException e){
            e.printStackTrace();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        return "1";
    }

限制图片大小

  • 不做任何处理的情况下,我上传一个2M左右的图片
    在这里插入图片描述
  • 在@SpringBootApplication 下加入拦截
    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //单个文件最大
        factory.setMaxFileSize(DataSize.parse("10240KB")); //KB,MB
        /// 设置总上传数据总大小
        factory.setMaxRequestSize(DataSize.parse("1024000KB"));
        return factory.createMultipartConfig();
    }

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/488975.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

约数个数(数论,蓝桥杯)

题目描述&#xff1a; 给定一个数n&#xff0c;再给出n个数&#xff0c;现在要求你求出这些数的乘积的约数个数总和&#xff0c;结果对1e97取模。 取值范围&#xff1a;1<n<100; 1<ni<2e9; 分析步骤&#xff1a; 第一&#xff1a;要求约数的个数&#xff0c;我们有…

2.8、下拉刷新与上拉加载

页面的下拉刷新与上拉加载功能在移动应用中十分常见,例如,新闻页面的内容刷新和加载。这两种操作的原理都是通过响应用户的触摸事件,在顶部或者底部显示一个刷新或加载视图,完成后再将此视图隐藏。 实现思路 以下拉刷新为例,其实现主要分成三步: 监听手指按下事件,记录…

注意力机制篇 | YOLOv8改进之添加CBAM注意力机制

前言:Hello大家好,我是小哥谈。CBAM是一种用于图像分类的注意力机制,全称为Convolutional Block Attention Module。它可以自适应地学习每个通道和空间位置的重要性,从而提高模型的性能。CBAM由两个部分组成:通道注意力模块和空间注意力模块。通道注意力模块通过学习每个通…

fl破解补丁下载2024FL Studio v21.1.1.3750 Crack永久下载和使用激活图文教程

FL Studio21简介 各位&#xff0c;大家晚上好&#xff0c;今天给大家带来最新最新2024水果编曲软件FL Studio 21中文版下载安装激活图文教程。我们一起先了解一些FL Studio 。FL Studio21是目前流行广泛使用人数最多音乐编曲宿主制作DAW软件&#xff0c;这款软件相信广大网友并…

java 溯本求源之基础(七)之 jar(上篇)

这个命令一些相关的知识点很重要&#xff01;很重要&#xff01;很重要&#xff01;重要的事情说三遍&#xff0c;再说这个工具之前我们先把相关东西一口气说完 1.类是如何加载的 1.1类加载的顺序&#xff1a; Bootstrap classes&#xff1a; 这个我们更可以理解为引导类&am…

Day21代码随想录(1刷) 二叉树

530. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 示例 1&#xff1a; 输入&#xff1a;root [4,2,6,1,3] 输出&#xff1a;1示例 2&#xff1…

【漏洞复现】通天星CMSV6-inspect_file-upload文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

誉天云计算学员分享丨备考方法:按难度分配时间

大家好&#xff0c;我是誉天的肖同学&#xff0c;我在2024年3月20 日的云计算HCIE3.0考试已顺利通过&#xff01; 备考准备 在9月初开始准备的笔试&#xff0c;过了之后就在10月初进的备考群&#xff0c;刚进来就先把群公告&#xff0c;新手村的文件看完&#xff0c;了解到了实…

500W-600W-700W-800W厚膜电阻器

缓冲器和滤波器应用的理想选择 紧凑型外壳电阻器&#xff0c;具有良好的热传导 必须与外部散热片一起使用模压外壳&#xff0c;可承受强大的环境条件 优化结构&#xff0c;高导热大蠕变距离所有内部电气连接都是焊接的 EAK300W厚膜电阻 一般泛规格&#xff0c;以300W为例 阻…

Android Handler使用介绍

Android 中的 Handler 是用来和线程通信的重要工具。它主要用于在后台线程中执行任务&#xff0c;并将结果传递回主线程以更新用户界面。 一、基本概念 线程间通信&#xff1a; Android 应用通常具有主线程&#xff08;也称为 UI 线程&#xff09;和后台线程。Handler 允许您从…

标题:Three.js:开源的JavaScript 3D库探索与实践

摘要&#xff1a; 本文将深入探讨Three.js&#xff0c;一个开源的JavaScript 3D库。Three.js提供了一种简单易用的方式来创建和显示3D图形&#xff0c;打破了Web开发和3D图形之间的障碍。本文将介绍Three.js的特性和用法&#xff0c;以及如何通过简单的示例来展示其功能。 一、…

Go语言学习Day2:注释与变量

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、注释①为什么要写注释&#xff1f;②单行注释…

本周四Techtalk技术交流社区邀请吕海波老师为大家带来精彩技术分享

欢迎您关注我的公众号【尚雷的驿站】 **************************************************************************** 公众号&#xff1a;尚雷的驿站 CSDN &#xff1a;https://blog.csdn.net/shlei5580 墨天轮&#xff1a;https://www.modb.pro/u/2436 PGFans&#xff1a;ht…

leetCode刷题 18. 删除链表的倒数第 N 个结点

目录 1. 思路 2. 解题方法 3. 复杂度 4. Code 题目&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&…

【二叉树】Leetcode 94. 二叉树的中序遍历【简单】

二叉树的中序遍历 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,3,2] 解题思路 中序遍历是一种二叉树遍历方式&#xff0c;按照“左根右”的顺序遍历二叉树节点。 1、递归…

43 带 fixed 列的 el-table 不兼容于 sortablejs

前言 这是一个基于 sortablejs 来实现的 el-table 的拖拽功能的基础实现 然后 这个过程中遇到的一个比较特殊的问题是, 关于 el-table-column 的 fixed 的属性, 对于 sortablejs 这边来定位目标选择列 影响的一个问题 在基础的用例中, 使用 “.el-table__body-wrapper tbo…

免费redis可视化工具windows/mac都可以使用,开源免费

官方地址&#xff1a;RedisInsight | The Best Redis GUI github开源地址&#xff1a;GitHub - RedisInsight/RedisDesktopManager Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理工具。 官方下载方式 滚动到页面底…

考研数学一——概率论真题——自我总结题型整理(总分393)

系列文章目录 终于考完研了&#xff0c;本人考的是南京航空航天大学的仪器科学与技术&#xff0c;英一数一电路&#xff0c;以下是成绩单&#xff1a; 平时习惯整理自己的学习体系&#xff0c;以下是一个记录。 其实&#xff0c;每个人都应该训练&#xff0c;看到某一类题目…

怎么开发水果店小程序_指尖上的新鲜果园

水果店小程序&#xff1a;指尖上的新鲜果园&#xff0c;让生活更甜美&#xff01; 在这个快节奏的现代生活中&#xff0c;人们对于便捷、高效的生活方式有着越来越高的追求。购物也不例外&#xff0c;我们都在寻找着一种更加轻松、快捷的购物方式。而水果店小程序&#xff0c;…

javaSwing连连看游戏

一、简介 基于java的连连看游戏设计和实现&#xff0c;基本功能包括&#xff1a;消除模块&#xff0c;重新开始模块&#xff0c;刷新模块&#xff0c;选择难度模块&#xff0c;计时模块。本系统结构如下&#xff1a; &#xff08;1&#xff09;消除模块&#xff1a; 完成连连…
最新文章