SpringMVC ---- CRUD和文件上传下载

1.CRUD (增删改查,可以用idea自动生成代码)

               SpringMVC ---- CRUD和文件上传下载_第1张图片

2. springmvc的文件上传
  2.1 添加文件上传相关依赖
     
          commons-fileupload
          commons-fileupload
          1.3.3
     

SpringMVC ---- CRUD和文件上传下载_第2张图片  

  2.2 配置文件上传解析器(CommonsMultipartResolver)
     
       
       
       
       
       
       
   

SpringMVC ---- CRUD和文件上传下载_第3张图片

  2.3 表单提交方式为method="post" enctype="multipart/form-data"

SpringMVC ---- CRUD和文件上传下载_第4张图片

  2.4 文件项用spring提供的MultipartFile进行接收
      BookFileVo
         bookId
         MultipartFile

SpringMVC ---- CRUD和文件上传下载_第5张图片SpringMVC ---- CRUD和文件上传下载_第6张图片

  2.5 上传文件

      注:springmvc文件上传关键代码
      File targetFile = ....;
      MultipartFile mf = ....;
      String fileName = mf.getOriginalFilename(); 
      mf.transferTo(targetFile);

SpringMVC ---- CRUD和文件上传下载_第7张图片SpringMVC ---- CRUD和文件上传下载_第8张图片 

上传图片的service实现类(这里有两个表的字段添加)

SpringMVC ---- CRUD和文件上传下载_第9张图片

上传效果:

SpringMVC ---- CRUD和文件上传下载_第10张图片SpringMVC ---- CRUD和文件上传下载_第11张图片

  2.6 下载文件

@RequestMapping(value="/download")
public ResponseEntity download(@RequestParam String fileId){

           //先根据文件id查询对应图片信息

           //下载关键代码
           File file=new File(bookFile.getUrl());
           HttpHeaders headers = new HttpHeaders();//http头信息                                                                   //设置编码
           String downloadFileName = new String(fileName.getBytes("UTF-8"),"iso-8859-1");
           headers.setContentDispositionFormData("attachment", downloadFileName);
           headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
           //MediaType:互联网媒介类型  contentType:具体请求中的媒体类型信息                                return new ResponseEntity(FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);

}

SpringMVC ---- CRUD和文件上传下载_第12张图片

下载效果: 

SpringMVC ---- CRUD和文件上传下载_第13张图片 SpringMVC ---- CRUD和文件上传下载_第14张图片

 

你可能感兴趣的:(spring,mvc)