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

    记述一下步骤以备查。

    准备工作:

    需要把Jakarta Commons FileUpload及Jakarta Commons io的包放lib里。

    我这边的包是:

    commons-fileupload-1.1.1.jar

    commons-io-1.3.2.jar

    然后在spring-servlet.xml进行multipartResolver配置,不配置好上传会不好用。

        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">   
              <property name="maxUploadSize"><value>100000</value></property> 
              <property name="defaultEncoding"><value>UTF-8</value></property> 
        </bean> 

    接下来就是页面了:

    注意Form的写法和文件上传组件的写法。

        <form action="uploadPosdetailFile.html" method="post" ENCTYPE="multipart/form-data">
        <div class="form" >
                <p>
                    <span class="req"><input id="startDateTxt"  name="startDateTxt" class="field size4" title="Enter the date" /></span>
                    <label>Start Date: <span>(Date format:MM/dd/yyyy,eg:01/01/2014)</span></label>
                </p>
                
                <p>
                    <span class="req"><input id="endDateTxt"  name="endDateTxt" class="field size4" title="Enter the date" /></span>
                    <label>End Date: <span>(Date format:MM/dd/yyyy,eg:12/25/2014)</span></label>
                </p>
                
                <p>
                    <span class="req"><input type="file"  name="uploadFileCtrl" class="field size4" title="Choose the file" /></span>
                    <label>Upload file: <span>(click browse to choose)</span></label>
                </p>
        </div>
        
        <div class="buttons">
            <input id="queryBtn" type="Submit" class="button" value="Submit" />
        </div>
        
        </form>

    再在控制器里写处理代码,注意参数和页面控件的对应关系:

        @RequestMapping(value="/uploadPosdetailFile")
        public String uploadPosdetailFile(@RequestParam("startDateTxt") String startDateTxt, 
                                      @RequestParam("endDateTxt") String endDateTxt,
                                      @RequestParam("uploadFileCtrl") MultipartFile file,HttpServletRequest request,HttpServletResponse response){
            try {
                System.out.println("@@@@@@@@@1.startDateTxt="+startDateTxt);
                System.out.println("@@@@@@@@@2.endDateTxt="+endDateTxt);
                System.out.println("@@@@@@@@@3.file="+file.getOriginalFilename());// 得到上传文件的文件名
                
                if(file.isEmpty()==false){
                    InputStream is=file.getInputStream();
                    InputStreamReader isr = new InputStreamReader(is);
    
                     BufferedReader br=new BufferedReader(isr); 
    
                     String s;
                     while((s=br.readLine())!=null ){
                         System.out.println(s);
                     }
    
                    br.close();
                    isr.close();
                    is.close();
                }
                
                
                return "/pages/posdetail/uploadposdetailresult/index.jsp";
            } catch (Exception e) {
                e.printStackTrace();
                logger.error(e);
                
                request.setAttribute("error", e.getClass());
                request.setAttribute("reason", e.getMessage());
                StackTraceElement[] arr=e.getStackTrace();
                request.setAttribute("stackTraceElements", arr);
                
                return "pages/error/index.jsp";
            }
        }
  • 相关阅读:
    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    用户画像——“打标签”
    python replace函数替换无效问题
    python向mysql插入数据一直报TypeError: must be real number,not str
    《亿级用户下的新浪微博平台架构》读后感
    【2-10】标准 2 维表问题
    【2-8】集合划分问题(给定要分成几个集合)
    【2-7】集合划分问题
    【2-6】排列的字典序问题
    【2-5】有重复元素的排列问题
  • 原文地址:https://www.cnblogs.com/heyang78/p/4122770.html
Copyright © 2011-2022 走看看