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

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

Java技术迷

一.创建图片虚拟目录

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

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

2.添加依赖

1
2
3
4
5
6
<!-- 文件上传 -->
<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3.1</version>
</dependency>

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

1
2
3
4
5
6
7
8
9
<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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@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

1
2
3
4
5
6
7
8
9
10
11
<%@ 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>

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

蓄力AI

微信公众号搜索 “ 脚本之家 ” ,选择关注

程序猿的那些事、送书等活动等着你

原文链接:http://www.jianshu.com/p/24bb6a4be071?utm_source=tuicool&utm_medium=referral

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

相关文章

  • 浅谈java类和对象

    浅谈java类和对象

    这篇文章主要介绍了浅谈java类和对象,对于面向对象的开发来讲也分为三个过程:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程),本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Java将数字金额转为大写中文金额

    Java将数字金额转为大写中文金额

    这篇文章主要为大家详细介绍了Java将数字金额转为大写中文金额,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 使用MQ消息队列的优缺点详解

    使用MQ消息队列的优缺点详解

    这篇文章主要介绍了使用MQ消息队列的优缺点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Java策略模式实现简单购物车功能

    Java策略模式实现简单购物车功能

    这篇文章主要介绍了Java策略模式实现简单地购物车,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 使用SpringBoot简单了解Druid的监控系统的配置方法

    使用SpringBoot简单了解Druid的监控系统的配置方法

    这篇文章主要介绍了使用SpringBoot简单了解Druid的监控系统的配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Java注解Annotation解析

    Java注解Annotation解析

    这篇文章主要为大家详细介绍了Java注解Annotation,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Java序列化与反序列化

    Java序列化与反序列化

    这篇文章主要介绍了Java的序列化与反序列化,序列化把一个对象Java Object变为一个二进制字节序列byte[];反序列化就是把一个二进制字节序列byte[]变为Java对象Java Object。感兴趣的小伙伴可以参考阅读
    2023-04-04
  • java实现文件上传到服务器

    java实现文件上传到服务器

    这篇文章主要为大家详细介绍了java实现文件上传到服务器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • java后台启动jar包的一些命令汇总

    java后台启动jar包的一些命令汇总

    这篇文章主要介绍了java后台启动jar包的一些命令汇总,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-03-03
  • Java实现驼峰、下划线互转的方法

    Java实现驼峰、下划线互转的方法

    这篇文章主要介绍了Java实现驼峰、下划线互转的示例代码,主要有使用 Guava 实现和自定义代码转,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05

最新评论