文件上传

需要的jar包

1.commons io.jar

2.commons-fileupload.jar

springmvc.xml

文件上传_第1张图片
image.png

        id必须是multipartResolver
    
        
              
        
        
        
        
        
                
        
        
                
        
        
                
        
       
            
        
        
                
        
     

Controller

    @PostMapping("upload")
    public String upload(MultipartFile file,HttpServletRequest request) throws IllegalStateException, IOException {
        
        if(file.isEmpty())
        {
            return "upload";
        }
        else
        {
            
            String path =  request.getServletContext().getRealPath("/file/");
            String filename = file.getOriginalFilename();
            File filepath = new File(path,filename);
            if(!filepath.getParentFile().exists())
            {
                filepath.getParentFile().mkdirs();
            }
            
            
            /**
             * 获取类型  .*
             */
        //  String ext = FilenameUtils.getExtension(filename);
            
            /**
             *  创建新名字
             */
        
        //  String newfileName = UUID.randomUUID().toString().replaceAll("-","")+"."+ext;
            
            String newPath= path+File.separator+filename;
            
            System.out.println("文件路径:"+newPath);
            
            file.transferTo(new File(newPath));
        
        }
        
        return "success";   
    }

优化下

新建一个模型类 Fileinfo

import java.io.Serializable;

import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
@Component
public class FileInfo implements Serializable {
    private static final long serialVersionUID = 1L;
    private MultipartFile file;

    public MultipartFile getFile() {
        return file;
    }

    public void setFile(MultipartFile file) {
        this.file = file;
    }

}



Controller

    
    @PostMapping("upload")
    public String upload(@ModelAttribute FileInfo fileInfo,HttpServletRequest request,Model model) throws IllegalStateException, IOException {
        
        if(fileInfo.getFile().isEmpty())
        {
            return "upload";
        }
        else
        {
            
            String path =  request.getServletContext().getRealPath("/file");
            String filename = fileInfo.getFile().getOriginalFilename();
            File filepath = new File(path,filename);
            if(!filepath.getParentFile().exists())
            {
                filepath.getParentFile().mkdirs();
            }
            
            
            /**
             * 获取类型  .*
             */
        //  String ext = FilenameUtils.getExtension(filename);
            
            /**
             *  创建新名字
             */
        
        //  String newfileName = UUID.randomUUID().toString().replaceAll("-","")+"."+ext;
            
            String newPath= path+File.separator+filename;
            
            System.out.println("文件路径:"+newPath);
            
            fileInfo.getFile().transferTo(new File(newPath));
            
            model.addAttribute("fileinfo", fileInfo);
        }
        
        return "download";  
    }
    
    
    

前端

    

你可能感兴趣的:(文件上传)