zoukankan      html  css  js  c++  java
  • stringMVC_09文件批量上传

    一.思路

      在文件上传的基础上引入数组可以实现批量上传,只需要更改一下前段页面和controller类即可

      文件上传: https://www.cnblogs.com/aihuadung/p/10167507.html

    二.实现

      在文件上传的基础上更改fileupload.jsp

        <form action="batchupload.do" method="post" enctype="multipart/form-data">
            文件上传:<input type="file" name="file" value="选择文件"/><br/>
            文件上传:<input type="file" name="file" value="选择文件"/><br/>
            <input type="submit" value="submit"/>
        </form>

      

      创建HelloController类

    package com.ahd.controller;
    
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.multipart.commons.CommonsMultipartFile;
    
    @Controller
    public class HelloController5{
        @RequestMapping("/batchupload")
        public String upload(@RequestParam("file")CommonsMultipartFile []files,HttpServletRequest req,ModelMap mm) throws IOException{
            //获取上传路径
            String path=req.getRealPath("upload");
            
            InputStream is=null;
            OutputStream os=null;
            
            for(CommonsMultipartFile file:files){
                //获取文件名称
                String filename=file.getOriginalFilename();
                
                is = file.getInputStream();
                os = new FileOutputStream(new File(path,filename));
                
                byte[]b=new byte[1024];
                int len=0;
                
                while((len=is.read(b))!=-1){
                    os.write(b, 0, len);
                }
            }
            
            is.close();
            os.close();
            
            mm.addAttribute("msg", "文件上传成功");
            return "success";
        }
    }
  • 相关阅读:
    [转]Lucene 性能优化带数据
    Lucene Document getBoost(float) 和 setBoost(float)
    几种Lucene.Net打开IndexReader的方式
    JSON 省市数据包括港澳
    Lucene Boost 精度表
    Dot NET 内存泄漏
    对《LINQ能不能用系列(一)数组筛选效率对比》中测试的几个问题
    售前工程师的成长一个老员工的经验之谈(三)(转载)
    yum使用简介
    Hadoop源代码分析 HDFS(转载)
  • 原文地址:https://www.cnblogs.com/aihuadung/p/10167773.html
Copyright © 2011-2022 走看看