前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring mvc文件上传实现

Spring mvc文件上传实现

作者头像
一只胡说八道的猴子
发布2020-10-28 11:36:39
3830
发布2020-10-28 11:36:39
举报

Spring mvc文件上传实现

jsp页面客户端表单编写

三个要素: 1.表单项type=“file” 2.表单的提交方式:post 3.表单的enctype属性是多部分表单形式:enctype=“multipart/form-data” 会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来表名文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。 3.1.当form表单修改为多部分表单时,request.getParameter()将失效。 3.2.enctype=“application/x-www-form-urlencoded”时,form表单的正文内容格式是:key=value&key=value&key=value 3.3.当form表单的enctype取值为Mutilpart/form-data时,请求正文内容就变成多部分形式:

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/quick16" method="post" enctype="multipart/form-data">
    名称:<input type="text" name="name"><br>
    文件:<input type="file" name="uploadFile">
    <input type="submit" value="点击提交">
</form>
</body>
</html>

需要导入的jar坐标

代码语言:javascript
复制
<dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>

配置文件上传解析器

代码语言:javascript
复制
 <bean id="commonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--上传文件的编码类型-->
        <property name="defaultEncoding" value="utf-8"></property>
        <!--上传单个文件的大小-->
        <property name="maxUploadSizePerFile" value="50000000"></property>
        <!--上传文件的总大小-->
        <property name="maxUploadSize" value="54288600"></property>
    </bean>

编写文件上传代码

代码语言:javascript
复制
  @RequestMapping(value = "/quick17")
    /* 告诉SpringMvc框架,方法返回的字符串不是跳转是直接在http响应体中返回*/
    @ResponseBody
    public void save17(String username, MultipartFile uploadFile) throws IOException {
       /*获取原始文件名*/
        String originalFilename = uploadFile.getOriginalFilename();
        /*保存到服务器上这里是本地*/
        uploadFile.transferTo(new File("F:\\upload\\"+originalFilename));
    }

上传多个文件

jsp表单代码

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/quick18" method="post"
      enctype="multipart/form-data">
    名称:<input type="text" name="name"><br>
    文件1:<input type="file" name="uploadFiles">
    文件2: <input type="file" name="uploadFiles">
    <input type="submit" value="点击提交">
</form>

</body>
</html>

服务器端代码

代码语言:javascript
复制
@RequestMapping(value = "/quick18")
    /* 告诉SpringMvc框架,方法返回的字符串不是跳转是直接在http响应体中返回*/
    @ResponseBody
    public void save18(String username, MultipartFile[] uploadFiles) throws IOException {
        for (MultipartFile uploadFile : uploadFiles) {
            /*获取原始文件名*/
            String originalFilename = uploadFile.getOriginalFilename();
            /*保存到服务器上这里是本地*/
            uploadFile.transferTo(new File("F:\\upload\\"+originalFilename));
        }
    }
在这里插入图片描述
在这里插入图片描述

成功保存到本地

在这里插入图片描述
在这里插入图片描述

以上就是SpringMVC系列的第三章,主要侧重SpringMVC上传文件的操作,我后续会持续更新Springmvc系列课程,本博客主要侧重于数据结构于算法和java开发,觉得我的文章有帮助的小伙伴可以关注我,有疑问可评论私信,相逢即是缘,大家高处见

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring mvc文件上传实现
  • jsp页面客户端表单编写
  • 需要导入的jar坐标
  • 配置文件上传解析器
  • 编写文件上传代码
  • 上传多个文件
  • jsp表单代码
  • 服务器端代码
  • 以上就是SpringMVC系列的第三章,主要侧重SpringMVC上传文件的操作,我后续会持续更新Springmvc系列课程,本博客主要侧重于数据结构于算法和java开发,觉得我的文章有帮助的小伙伴可以关注我,有疑问可评论私信,相逢即是缘,大家高处见
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档