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


相关推荐: 在线教育网站制作平台,山西立德教育官网?  如何在云虚拟主机上快速搭建个人网站?  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel如何实现多对多模型关联?(Eloquent教程)  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  如何用PHP工具快速搭建高效网站?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  如何在阿里云完成域名注册与建站?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Android自定义控件实现温度旋转按钮效果  如何快速生成专业多端适配建站电话?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何快速完成中国万网建站详细流程?  网站制作价目表怎么做,珍爱网婚介费用多少?  Laravel如何使用Eloquent进行子查询  微信小程序 五星评分(包括半颗星评分)实例代码  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  如何在新浪SAE免费搭建个人博客?  中国移动官方网站首页入口 中国移动官网网页登录  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  如何快速搭建二级域名独立网站?  大型企业网站制作流程,做网站需要注册公司吗?  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  千库网官网入口推荐 千库网设计创意平台入口  bootstrap日历插件datetimepicker使用方法  微信小程序 require机制详解及实例代码  Java类加载基本过程详细介绍  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  在线制作视频的网站有哪些,电脑如何制作视频短片?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何创建自定义Facades?(详细步骤)  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel Docker环境搭建教程_Laravel Sail使用指南  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  个人摄影网站制作流程,摄影爱好者都去什么网站?  Java解压缩zip - 解压缩多个文件或文件夹实例