SpringMVC框架实现上传图片的示例代码

发布时间 - 2026-01-11 03:25:17    点击率:

一.创建图片虚拟目录

在上传图片之前,先要设置虚拟目录(以IDEA为例)

  • 打开工具栏的运行配置Edit Configurations
  • 添加物理目录和并设置虚拟目录路径

添加img图片在img文件夹内

测试访问:http://localhost:8080/img/img.jpg

二.SpringMVC上传头像

1.SpringMVC对多部件类型的解析

上传图片SpringMVC.xml配置

在页面form中提交enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析。在springmvc.xml中配置multipart类型解析器。

<!--文件上传-->
  <bean id ="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize">
      <value>5242880</value>
    </property>
  </bean>

2.添加依赖

<!-- 文件上传 -->
<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3.1</version>
</dependency>

3. 在Login1.jsp页面form中提交enctype="multipart/form-data"的数据

<form action="/userController/insertUser" method="post" enctype="multipart/form-data">
          <input type="text" required="required" placeholder="用户名" name="userName">
          <input type="password" required="required" placeholder="密码" name="passWord">
          <input type="file" name = "imgFile">
          <div id="bt">
            <input class="but" type="submit" value="注册">
            <a href="register.jsp" rel="external nofollow" ><input class="but" type="button" value="返回登录"></a>
          </div>
        </form> 

4.处理请求UserController.java

   @RequestMapping("insertUser")
  public String insertUser (HttpServletRequest request, User user, MultipartFile imgFile) throws IOException {
    //获取文件原始名称
    String originalFilename = imgFile.getOriginalFilename();
    //上传图片
    if(imgFile!=null && originalFilename!=null && originalFilename.length()>0){
      //存储图片的物理路径
      String pic_path = "/home/ubuntu/IDEA/SSM/img/";
      //新的图片名称
      String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
      //新图片
      File newFile = new File(pic_path+newFileName);
      //将内存中的数据写入磁盘
      imgFile.transferTo(newFile);
      userService.insertUser(user,newFileName);
      HttpSession session = request.getSession();
      session.setAttribute("imgUrl", newFileName);
    }

    return "item/success";
  }

上传成功

成功跳转页面success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>成功</title>
</head>
<body>
<h1>成功页面</h1>
<img style="width: 150px; height: 200px" 
src="http://localhost:8080/img/<%=session.getAttribute("imgUrl")%>">
</body>
</html>

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


# SpringMVC  # 上传图片  # 实现上传图片  # SpringMVC框架实现图片上传与下载  # SpringMVC利用dropzone组件实现图片上传  # WebUploader客户端批量上传图片 后台使用springMVC  # SpringMVC中MultipartFile上传获取图片的宽度和高度详解  # Spring MVC 图片的上传和下载功能  # 文件上传  # 上传  # 为例  # 跳转  # 大家多多  # maxUploadSize  # groupId  # dependency  # fileupload  # property  # multipartResolver  # org  # bean  # id  # commons  # CommonsMultipartResolver  # springframework  # web  # post 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何在万网主机上快速搭建网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  JS碰撞运动实现方法详解  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  JavaScript Ajax实现异步通信  浅析上传头像示例及其注意事项  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  js实现获取鼠标当前的位置  高端网站建设与定制开发一站式解决方案 中企动力  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Android实现代码画虚线边框背景效果  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel Docker环境搭建教程_Laravel Sail使用指南  如何获取上海专业网站定制建站电话?  详解MySQL数据库的安装与密码配置  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  如何在Windows环境下新建FTP站点并设置权限?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  如何在VPS电脑上快速搭建网站?  php结合redis实现高并发下的抢购、秒杀功能的实例  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何快速生成ASP一键建站模板并优化安全性?  制作电商网页,电商供应链怎么做?  如何在服务器上三步完成建站并提升流量?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何注册花生壳免费域名并搭建个人网站?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何在云主机上快速搭建多站点网站?  如何快速上传建站程序避免常见错误?  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  油猴 教程,油猴搜脚本为什么会网页无法显示?  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  C语言设计一个闪闪的圣诞树  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel如何实现API资源集合?(Resource Collection教程)