其他分享
首页 > 其他分享> > SpringMVC文件上传

SpringMVC文件上传

作者:互联网

 

 

 

 

 

文件上传原理

当form表单修改为多部分表单时,request.getParameter()将失效。

enctype="application/x-www-form-urlencoded”时,form表单的正文内容格式是: key=value&key=value&key=value

当form表单的enctype取值为Mutilpart/form-data时,请求正文内容就变成多部分形式

单文件上传步骤

①导入fileupload和io坐标

在pom.xml中导入相应坐标

<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.3</version>
        </dependency>

 

②配置文件上传解析器

在springMVC.xml中配置

<!--    配置文件上传解析器-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8"></property>
        <property name="maxUploadSize" value="5000000"></property>
    </bean>

 

③编写文件上传代码

 

@RequestMapping(value = "/quick15")
    @ResponseBody  //告知spring直接进行数据回写,不跳转
    public void save15(String username, MultipartFile uploadFile) throws IOException {
        System.out.println(username);
       //获取上传文件名称
        String originalFilename = uploadFile.getOriginalFilename();
        uploadFile.transferTo(new File("C:\\test\\"+originalFilename)); //上传后的文件传到C盘的位置

    }

④编写页面

<%--
  Created by IntelliJ IDEA.
  User: CLD
  Date: 2022/7/4
  Time: 17:21
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/quick15" method="post" enctype="multipart/form-data">
    名称<input type="text" name="username"><br/>
    文件<input type="file" name="uploadFile"><br/>
    <input type="submit" value="提交">
</form>
</body>
</html>

 

 

 

 

 发现test文件夹中有我刚才上传的文件,上传成功。

标签:文件,form,SpringMVC,commons,value,表单,上传
来源: https://www.cnblogs.com/wjingbo/p/16443899.html