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

 更新时间:2017年09月26日 11:08:46   作者:Mr_欢先生  
本篇文章主要介绍了SpringMVC框架实现上传图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一.创建图片虚拟目录

在上传图片之前,先要设置虚拟目录(以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>

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

相关文章

  • Java反转字符串和相关字符编码的问题解决

    Java反转字符串和相关字符编码的问题解决

    反转字符串一直被当作是简单问题,大家的思想主要就是利用遍历,首尾交换字符实现字符串的反转。例如下面的代码,就可以简单实现反转。
    2013-05-05
  • maven如何动态统一修改版本号的方法步骤

    maven如何动态统一修改版本号的方法步骤

    这篇文章主要介绍了maven如何动态统一修改版本号的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • java开发hutool HttpUtil网络请求工具使用demo

    java开发hutool HttpUtil网络请求工具使用demo

    这篇文章主要为大家介绍了hutool之HttpUtil网络请求工具使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Java之int和string类型转换详解

    Java之int和string类型转换详解

    这篇文章主要介绍了Java之int和string类型转换详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • SpringBoot+Quartz实现定时任务的代码模版分享

    SpringBoot+Quartz实现定时任务的代码模版分享

    quartz 是一款开源且丰富特性的Java 任务调度库,用于实现任务调度和定时任务,本文主要和大家分享一个SpringBoot整合Quartz实现定时任务的代码模版,需要的可以参考一下
    2023-06-06
  • 基于Spring Batch 配置重试逻辑

    基于Spring Batch 配置重试逻辑

    这篇文章主要介绍了Spring Batch 配置重试逻辑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • springboot pojo对象日期属性的问题

    springboot pojo对象日期属性的问题

    这篇文章主要介绍了springboot pojo对象日期属性的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 一篇文章带你了解jdk1.8新特性--为什么使用lambda表达式

    一篇文章带你了解jdk1.8新特性--为什么使用lambda表达式

    Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码,本篇文章就带你了解,希望能给你带来帮助
    2021-08-08
  • 深入理解Java中Filter的作用种类及应用场景

    深入理解Java中Filter的作用种类及应用场景

    Filter(过滤器)是Java Web中的一种重要组件,可以对请求和响应进行拦截处理,对数据进行过滤和处理。Filter可以实现许多功能,如:鉴权、日志记录、字符编码转换、数据压缩、请求重定向等等
    2023-04-04
  • Java程序员常犯的五个错误

    Java程序员常犯的五个错误

    这篇文章总结以前经验针对java编程的一些习惯,给出一些关于java编程的建议: 当你开始成为一个程序员的时候,在编程的时候很容易陷入下面所述的一些坏习惯,下面把Java程序员常犯的五个错误整理如下,需要的朋友可以参考下
    2015-07-07

最新评论