zoukankan      html  css  js  c++  java
  • spring 基于multipart 文件上传

    一、使用MultipartFile上传,需要jar包

    1. 第一个需要使用 Apache 的 commons-fileupload 等 jar 包支持,但它能在比较旧的 servlet 版本中使用。

        在版本控制工具中加入

        /*文件上传下载*/
        "commons-fileupload:commons-fileupload:1.3.1"

       在spring-mvc.xml中配置bean

        <!--文件上传  MultipartResolver-->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
         <property name="defaultEncoding" value="UTF-8"/>
         <property name="maxUploadSize" value="5000000"/>
         <property name="maxInMemorySize" value="5000000"></property>
        </bean>
      其中属性详解:
        defaultEncoding="UTF-8" 是请求的编码格式,默认为iso-8859-1
        maxUploadSize="5400000" 是上传文件的大小,单位为字节
        uploadTempDir="fileUpload/temp" 为上传文件的临时路径
      2.定义一个上传文件的工具方法
        private boolean savefile(MultipartFile file){
         try {
         //文件保存
         //request.getSession().getServletContext().getRealPath("/"):获取Tomcat的路径
         String path =request.getServletContext().getRealPath("/")+"assets/"+file.getOriginalFilename();

         System.out.println("------------------------------"+path);
         //文件转存
         file.transferTo(new File(path));
         return true;
         } catch (IOException e) {
         e.printStackTrace();
         }
         return false;
        }
      3.上传一个文件

          

          

       4.上传多个文件

          

          

       注意:要在form标签中加上enctype="multipart/form-data"表示该表单是要处理文件的,这是最基本的东西,很多人会忘记然而当上传出错后则去找程序的错误,却忘了这一点

    二、不需要jar包

      1.在spring-mvc中配置

        <bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver"></bean>

      2.web.xml中配置

      <!--Multipart文件上传-->
        <multipart-config>
         <!--上传文件的最大限制,5M=1204*1024*5-->
         <max-file-size>5242880</max-file-size>
         <!--一次表单提交中文件的大小限制-->
         <max-request-size>10485760</max-request-size>
         <!-- 多大的文件会被自动保存到硬盘上。0 代表所有 -->
         <file-size-threshold>0</file-size-threshold>
        </multipart-config>
    三、两种方法的缺点与优势
       第一种:需要jar包
       第二种:不需要jar包,但是只兼容server3.0以上
  • 相关阅读:
    office 2013激活
    MVC interview question
    javaScript true /false
    17 ways to Optimize VBA Code for FASTER Macros
    50 Excel VBA Oral Interview Questions
    How to compare two worksheets in a workoo
    Access窗体传值
    How to Convert a workbook/WorkSheet to PDF
    01_js数据类型
    02_js两个变量交换值
  • 原文地址:https://www.cnblogs.com/liuyonglin/p/6429674.html
Copyright © 2011-2022 走看看