通过简单步骤实现SpringMVC文件上传

 更新时间:2019年11月14日 15:04:34   作者:EXTRA·  
这篇文章主要介绍了通过简单步骤实现SpringMVC文件上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了通过简单步骤实现SpringMVC文件上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、创建文件上传FileController类

package com.byzore.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;

@Controller
@RequestMapping("/file")
public class FileController {
  @RequestMapping("/fileUpload")
  /**
   * MultipartFile 选择文件
   */
  public String fileupload(HttpSession session, MultipartFile file,String author)throws IOException{
    System.out.println("作者:"+author);
    System.out.println(file);
    /**
     * 如何处理文件
     */
    if (!file.isEmpty()){
      //获取文件名称
      String fileName=file.getOriginalFilename();
      //获取到需要上传的路径
      String realPath = session.getServletContext().getRealPath("/WEB-INF/upload");
      //创建文件对象
      File uploadfile=new File(realPath+"\\"+fileName);
      //如何上传文件
      file.transferTo(uploadfile);
    }
    return "index";
  }



  @RequestMapping("/fileUploads")
  /**
   * 多文件上传
   */
  public String fileuploads(HttpSession session, MultipartFile[] uploadFiles,String author)throws IOException{
    System.out.println("作者:"+author);
    System.out.println(uploadFiles);
    for (MultipartFile file: uploadFiles) {
      /**
       * 如何处理文件
       */
      if (!file.isEmpty()){
        //获取文件名称
        String fileName=file.getOriginalFilename();
        //获取到需要上传的路径
        String realPath = session.getServletContext().getRealPath("/WEB-INF/upload");
        //创建文件对象
        File uploadfile=new File(realPath+"\\"+fileName);
        //如何上传文件
        file.transferTo(uploadfile);
      }
    }

    return "index";
  }
}

二、编辑applicationContext.xml文件

<?xml version="1.0" encoding="UTF-8"?>
  <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:mvc="http://www.springframework.org/schema/mvc"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--将Controller注入到容器当中  id就是浏览器请求地址-->
    <!--<bean id="/firstController" class="com.springmvc.controller.FirstController"></bean>-->

    <!--配置包扫描器-->
    <context:component-scan base-package="com.byzore"/>
    <!--Spring支持SpringMVC-->
    <mvc:annotation-driven/>

  <!--配置视图解析器-->
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/"/>
    <property name="suffix" value=".jsp"/>
  </bean>

  <!--利用DefaultServlet放行资源-->
  <mvc:default-servlet-handler/>

  <!--从Spring3.0.4版本提供资源放行的方式-->
  <!--<mvc:resources mapping="/**" location="/img"/>-->
<!--文件上传解析器-->
  <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!--编码-->
    <property name="defaultEncoding" value="UTF-8"/>
    <property name="maxUploadSize" value="5000000000"/>
  </bean>
</beans>

三、创建fileUpload.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>文件上传</title>
</head>
<body>
  <form action="/file/fileUpload" method="post" enctype="multipart/form-data">
    <input type="file" name="fileUpload"/>
作者:<input type="text" name="author"/>
    <input type="submit" value="提交"/>
  </form>
</body>
</html>

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

相关文章

  • Sping中如何处理@Bean注解bean同名的问题

    Sping中如何处理@Bean注解bean同名的问题

    这篇文章主要介绍了Sping中如何处理@Bean注解bean同名的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java编程 中流对象选取规律详解

    java编程 中流对象选取规律详解

    下面小编就为大家带来一篇java编程 中流对象选取规律详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Idea中如何修改项目的SVN地址

    Idea中如何修改项目的SVN地址

    这篇文章主要介绍了Idea中如何修改项目的SVN地址问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java中FileOutputStream中文乱码问题解决办法

    java中FileOutputStream中文乱码问题解决办法

    这篇文章主要介绍了java中FileOutputStream中文乱码问题解决办法的相关资料,需要的朋友可以参考下
    2017-04-04
  • 解决使用IDEA时跳转到.class的问题

    解决使用IDEA时跳转到.class的问题

    这篇文章主要介绍了解决使用IDEA时跳转到.class的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Spring Cloud服务安全连接方式

    Spring Cloud服务安全连接方式

    这篇文章主要介绍了Spring Cloud服务安全连接方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Spring Boot项目实战之拦截器与过滤器

    Spring Boot项目实战之拦截器与过滤器

    这篇文章主要介绍了Spring Boot项目实战之拦截器与过滤器,文中给大家详细介绍了springboot 拦截器和过滤器的基本概念,过滤器的配置,需要的朋友可以参考下
    2018-01-01
  • java实现快速排序算法

    java实现快速排序算法

    快速排序算法是基于分治策略的另一个排序算法。其基本思想是:对输入的子数组a[p:r],按以下三个步骤进行排序。 1) 分解(Divide)(2) 递归求解(Conquer) (3) 合并(Merge)
    2015-04-04
  • springboot 集成identityserver4身份验证的过程解析

    springboot 集成identityserver4身份验证的过程解析

    这篇文章主要介绍了springboot 集成identityserver4身份验证的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • Java编写缓存工具类的示例代码

    Java编写缓存工具类的示例代码

    这篇文章主要为大家详细介绍了如何基于Java编写一个缓存工具类,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以了解一下
    2023-07-07

最新评论