一、单文件上传

  1.导入依赖

<dependency>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
          <version>2.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
        <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>1.3.1</version>
        </dependency>

  2.创建文件上传表单

<form action="/file/fileUpload" method="post" enctype="multipart/form-data">
            <input type="file" name="file"/>
            作者: <input type="text" name="author"/>
            <input type="submit" value="提交"/>
        </form>

  3.构建文件上传控制器

@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";
        }

  4.注册文件上传解析器

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

二、多文件上传

  文件上传表单:

<form action="/file/fileUploads" method="post" enctype="multipart/form-data">
        <input type="file" name="uploadFiles"/>
        <input type="file" name="uploadFiles"/>
        <input type="file" name="uploadFiles"/>
        作者: <input type="text" name="author"/>
        <input type="submit" value="提交"/>
    </form>

  控制器

@RequestMapping("/fileUploads")
    /**
     * MultipartFile 选择的文件
     */
    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";
    }

  其余一致

三、文件下载

  后期补

SpringMVC——文件上传下载的更多相关文章

  1. springmvc文件上传下载简单实现案例(ssm框架使用)

    springmvc文件上传下载实现起来非常简单,此springmvc上传下载案例适合已经搭建好的ssm框架(spring+springmvc+mybatis)使用,ssm框架项目的搭建我相信你们已经搭 ...

  2. SpringMVC文件上传下载(单文件、多文件)

    前言 大家好,我是bigsai,今天我们学习Springmvc的文件上传下载. 文件上传和下载是互联网web应用非常重要的组成部分,它是信息交互传输的重要渠道之一.你可能经常在网页上传下载文件,你可能 ...

  3. SpringMVC文件上传下载

    在Spring MVC的基础框架搭建起来后,我们测试了spring mvc中的返回值类型,如果你还没有搭建好springmvc的架构请参考博文->http://www.cnblogs.com/q ...

  4. SpringMVC 文件上传下载

    目录 文件上传 MultipartFile对象 文件下载 上传下载示例 pom.xml增加 创建uploadForm.jsp 创建uploadForm2.jsp 创建userInfo.jsp spri ...

  5. SpringMVC整合fastdfs-client-java实现web文件上传下载

    原文:http://blog.csdn.net/wlwlwlwl015/article/details/52682153 本篇blog主要记录一下SpringMVC整合FastDFS的Java客户端实 ...

  6. SpringMVC ajax技术无刷新文件上传下载删除示例

    参考 Spring MVC中上传文件实例 SpringMVC结合ajaxfileupload.js实现ajax无刷新文件上传 Spring MVC 文件上传下载 (FileOperateUtil.ja ...

  7. SpringMVC(三) RESTful架构和文件上传下载

    RESTful架构 REST全名为:Representational State Transfer.资源表现层状态转化.是目前最流行的一种互联网软件架构. 它结构清晰.符合标准.易于理解.扩展方便,所 ...

  8. SpringMVC——返回JSON数据&&文件上传下载

    --------------------------------------------返回JSON数据------------------------------------------------ ...

  9. SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库

    SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库  /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...

随机推荐

  1. Docker 常用命令和Dockerfile

    Docker 简介 官方的解释为:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现 ...

  2. [javascript]localStorage和sessionStorage区别

    一.sessionStorage.localStorage.cookie可查看的位置,F12=>Application: 二.cookie .sessionStorage与localStorag ...

  3. ACCESS打得开mdb,但打不开表,弹框提示未知错误。

    我的电脑有个一个奇怪的错误ACCESS能打开mdb数据库,但是打不开表,一打开就提示错误,只有俩字“未知”.重装OFFICE也不行!而且电脑上使用Access数据库的应用软件都不行了!都提示“未知”错 ...

  4. 【C++】如何提高Cache的命中率,示例

    参考链接     https://stackoverflow.com/questions/16699247/what-is-a-cache-friendly-code 只是堆积:缓存不友好与缓存友好代 ...

  5. 【温故知新】php 魔术方法

    <?php class Magic{ private $name; /** *构造方法,在类被实例化时自动调用,一般用于初始化操作 */ public function __construct( ...

  6. 【php设计模式】享元模式

    享元模式其实就是共享独享模式,减少重复实例化对象的操作,从而将实例化对象造成的内存开销降到最低. 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象.我们将通过创建 5 个对象来画出 ...

  7. WinPE基础知识之导出表

    // 导出的东西包括函数(变量.类)地址,序号,函数(变量.类)名 typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; // ...

  8. 销售订单(SO)-API-创建销售订单

    创建销售订单API主要注意几点: 初始化环境变量:fnd_global.apps_initialize(); mo_global.init('ONT'); mo_global.set_policy_c ...

  9. python 判断两个ip地址是否属于同一子网

    python 判断两个ip地址是否属于同一子网 """ 判断两个IP是否属于同一子网, 需要判断网络地址是否相同 网络地址:IP地址的二进制与子网掩码的二进制地址逻辑&q ...

  10. Image Processing and Analysis_8_Edge Detection:A Computational Approach to Edge Detection——1986

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...