使用SpringMVC中的 MultipartFile 实现文件上传

SpringMVC实现文件上传

web配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
  
  <!--  前端控制器 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!-- spring 提供了一个字符编码过滤器 Filter -->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>
      org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!--配置访问首页-->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

pom文件需要的依赖
<!-- 文件上传 -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>${commons-fileupload.version}</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons-io.version}</version>
    </dependency>
html页面表单
<body>
<form action="save" method="post" enctype="multipart/form-data">
    文件上传:<input type="file" NAME="upload"><br>
    <input type="submit" value="提交">
</form>
</body>
Controller控制类
@Controller
public class UploadController {

    @RequestMapping("/save")
    @ResponseBody
    public String upload(@RequestParam("upload") MultipartFile upload , HttpServletRequest request) {
        System.out.println("上传中.............");
        //1.获取文件上传的 原名称 使用SpringMVC中 MultipartFile 实现文件上传
        String originalFilename = upload.getOriginalFilename();
        //2.准备文件上传的位置   服务器当前工程的某个位置
        String realPath = request.getSession().getServletContext().getRealPath("upload");
        //3.判断上传的位置 是否存在 ,不存在创建
        File file = new File(realPath);
        if (!file.exists()){
            file.mkdir();
        }
        //4.拼接路径  将文件位置和源文件名称 连接   +  系统当前时间毫秒值
        String  fileName=realPath+File.separator+System.currentTimeMillis()+originalFilename;

        System.out.println("输出拼接地址=="+fileName);
        //5.实现文件上传
        try {
            upload.transferTo(new File(fileName));
        } catch (IOException e) {
            e.printStackTrace();
            return "文件上传失败";
        }
        return "文件上传成功";
    }

}
     e.printStackTrace();
        return "文件上传失败";
    }
    return "文件上传成功";
}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值