zoukankan      html  css  js  c++  java
  • SpringMVC——文件的上传

    一、加入依赖

    commons-io-2.0.jar
    commons-fileupload-1.2.1.jar

    二、接口MultipartResolver

    • Spring MVC 为文件上传提供了直接的支持,这种支持是通过即插即用的 MultipartResolver 实现的。Spring 用Jakarta Commons FileUpload 技术实现了一个MultipartResolver 实现类:CommonsMultipartResovler
    • Spring MVC 上下文中默认没有装配 MultipartResovler,因此默认情况下不能处理文件的上传工作,如果想使用 Spring的文件上传功能,需现在上下文中配置MultipartResolver

    三、配置 MultipartResolver

    defaultEncoding: 必须和用户 JSP 的 pageEncoding 属性一致,以便正确解析表单的内容

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

    注意:id的值必须是mutipartResolver。

    四、文件上传表单

    <form action="${pageContext.request.contextPath}/test/testFileUpload" enctype="multipart/form-data" method="post">
        <input type="file" name="file">
        <input type="submit" value="上传">
      </form>

    五、Cotroller请求映射

       /**
         * 测试文件下载
         * @param multipartFile
         * @return
         */
        @RequestMapping("/testFileUpload")
        public String testFileUpload(@RequestParam("file")MultipartFile multipartFile, Map<String,Object> map) throws IOException {
            //文件的原始名
            String originalFileName = multipartFile.getOriginalFilename();
            //文件的大小
            Long  size = multipartFile.getSize();
            //form表单的name值
            String name = multipartFile.getName();
            if(multipartFile!=null){
                //将文件复制到目标目录
                multipartFile.transferTo(new File("D://upload//"+originalFileName));
            }
            map.put("originalFileName",originalFileName);
            map.put("size",size);
            map.put("name",name);
            return SUCCESS;
        }
  • 相关阅读:
    swift
    swift
    c# 根据自定义Attribute排序
    asp.net 导出excel
    算法时间复杂度的计算 [整理]
    再谈javascript原型继承
    深入学习JavaScript: apply 方法 详解(转)——非常好
    Chapter 6 : Control Statements : Looping
    Chapter 6 : Applications of Definite Integrals
    朋友圈仅三天可见?怎么破?
  • 原文地址:https://www.cnblogs.com/realshijing/p/8195608.html
Copyright © 2011-2022 走看看