SpringBoot文件上传单文件多文件上传

简介: SpringBoot文件上传单文件多文件上传
  //单个文件 input 中的name="xx",MultipartFile xx必须一致
    @RequestMapping("upload")
    public String upload(HttpServletRequest request,@RequestParam  MultipartFile name,Model model) throws IllegalStateException, IOException {
        System.out.println("------------------开始上传文件---------------------");
        String path = request.getSession().getServletContext().getRealPath("upload");  
        //获得文件名字
        String filename = name.getOriginalFilename();
        if(null != filename && filename.length() != 0){
            //获得上传文件.gpj;
            String suffix = filename.substring(filename.lastIndexOf("."),filename.length());
            UUID uuid = UUID.randomUUID();
            String newFileName = uuid+suffix;
            File targetFile = new File(path,newFileName);
            if(!targetFile.exists()){
                  targetFile.mkdirs();  
               }
            name.transferTo(targetFile); 
            model.addAttribute("path", path+File.separator+newFileName);
        }
        
        return "show";
    }
    
    //多个文件 input name 不同 的多文件上传
        @RequestMapping("uploads")
        public String uploads(HttpServletRequest request,Model model) throws IllegalStateException, IOException {
            MultipartHttpServletRequest msr = (MultipartHttpServletRequest)request;
            List name = msr.getFiles("name");
            List file = msr.getFiles("file");
            List jpg = msr.getFiles("jpg");
            System.out.println("------------------开始上传文件---------------------");
            String path = request.getSession().getServletContext().getRealPath("upload");
            for(int i = 0; i < name.size(); i++){
                if(null != name && !name.isEmpty()){
                    if(!name.get(i).isEmpty()){
                        //获得上传文件.gpj;
                        String filename = name.get(i).getOriginalFilename();
                        String suffix = filename.substring(filename.lastIndexOf("."),filename.length());
                        UUID uuid = UUID.randomUUID();
                        String newFileName = uuid+suffix;
                        File targetFile = new File(path,newFileName);
                        if(!targetFile.exists()){
                              targetFile.mkdirs();  
                           }
                        name.get(i).transferTo(targetFile);
                    }
                }
            }
            
            
            return "show";
        }
        //多个文件 input 中的name="xx",MultipartFile xx必须一致 name 相同
        @RequestMapping("uploads/name")
        public String uploadsName(HttpServletRequest request,@RequestParam  MultipartFile[] name,Model model) throws IllegalStateException, IOException {
            System.out.println("------------------开始上传文件---------------------");
            String path = request.getSession().getServletContext().getRealPath("upload");  
            //获得文件名字
            int len = name.length;
            if(len > 0 ){
                for(int i = 0 ; i < len; i++){
                    String filename = name[i].getOriginalFilename();
                    if(null != filename && filename.length() != 0){
                        //获得上传文件.gpj;
                        String suffix = filename.substring(filename.lastIndexOf("."),filename.length());
                        UUID uuid = UUID.randomUUID();
                        String newFileName = uuid+suffix;
                        File targetFile = new File(path,newFileName);
                        if(!targetFile.exists()){
                              targetFile.mkdirs();  
                           }
                        name[i].transferTo(targetFile); 
                        model.addAttribute("path", path+File.separator+newFileName);
                    }
                }
                
            }
            return "show";
        }
        
    //原生的上传文件
        @RequestMapping(value="/upload",method=RequestMethod.POST) 
        public String upload(HttpServletRequest req) throws Exception { 
            MultipartHttpServletRequest mreq = (MultipartHttpServletRequest)req; 
            MultipartFile file = mreq.getFile("file"); 
            String fileName = file.getOriginalFilename(); 
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); 
            FileOutputStream fos = new FileOutputStream(req.getSession().getServletContext().getRealPath("/")+ "upload/"+sdf.format(new Date())+fileName.substring(fileName.lastIndexOf('.'))); 
            fos.write(file.getBytes()); 
            fos.flush(); 
            fos.close(); 
            return "hello"; 
            }


相关文章
|
3月前
|
Java
SpringBoot之文件上传(单文件与多文件上传的使用)
SpringBoot之文件上传(单文件与多文件上传的使用)
|
5月前
|
Java
SpringBoot文件上传
SpringBoot文件上传
|
7月前
SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置2
SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置2
23 0
|
7月前
|
前端开发 文件存储 数据库
SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置1
SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置1
43 0
|
7月前
|
前端开发
SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置3
SpringMVC文件上传、文件下载多文件上传及jrebel的使用与配置3
35 0
|
Java
SpringBoot实现文件上传接口
文件上传是很多业务场景需要实现的功能,今天就简单以Springboot框架为基础实现文件上传的接口。
2115 0
SpringBoot实现文件上传接口
|
26天前
|
存储 前端开发 Java
基于SpringBoot实现文件上传和下载(详细讲解And附完整代码)
基于SpringBoot实现文件上传和下载(详细讲解And附完整代码)
|
7月前
|
存储 前端开发 Java
【SpringMVC】一行代码完成文件上传&JRebel的使用
【SpringMVC】一行代码完成文件上传&JRebel的使用
43 0
|
5月前
|
存储 前端开发 Java
SpringMVC的文件上传&文件下载&多文件上传---详细介绍
SpringMVC的文件上传&文件下载&多文件上传---详细介绍
41 0
|
8月前
|
存储 前端开发 Java
SPringBoot实现文件上传功能
准备工作:在开始之前,确保你已经创建好了一个Spring Boot项目,并且配置了适当的开发环境。你可以使用Spring Initializr进行项目的初始化,然后添加所需的依赖。
127 0

热门文章

最新文章