基于springmvc,poi处处excel文件

POI导出excelspring

springmvc上传以及下载浏览器

//上传文件会自动绑定到MultipartFile中mvc

@RequestMapping(value="/upload",method=RequestMethod.POST)app

public String upload(HttpServletRequest request,excel

@RequestParam("description") String description,orm

@RequestParam("file") MultipartFile file) throws Exception {图片

System.out.println(description); //若是文件不为空,写入上传路径ip

if(!file.isEmpty()) {get

//上传文件路径it

String path = request.getServletContext().getRealPath("/images/");

//上传文件名 String filename = file.getOriginalFilename();

File filepath = new File(path,filename);

//判断路径是否存在,若是不存在就建立一个

if (!filepath.getParentFile().exists())

{ filepath.getParentFile().mkdirs(); }

//将上传文件保存到一个目标文件当中

file.transferTo(new File(path + File.separator + filename)); return "success"; } else { return "error"; }

}

//下载文件SpringMVC提供了一个ResponseEntity类型,使用它能够很方便地定义返回的HttpHeaders和HttpStatus

@RequestMapping(value="/download")

public ResponseEntity<byte[]> download(HttpServletRequest request,

@RequestParam("filename") String filename,

Model model)throws Exception

{ //下载文件路径

String path = request.getServletContext().getRealPath("/images/");

File file = new File(path + File.separator + filename); HttpHeaders headers = new HttpHeaders();

//下载显示的文件名,解决中文名称乱码问题

String downloadFielName = new String(filename.getBytes("UTF-8"),"iso-8859-1");

//通知浏览器以attachment(下载方式)打开图片

headers.setContentDispositionFormData("attachment", downloadFielName);

//application/octet-stream : 二进制流数据(最多见的文件下载)

headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);

return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),

headers, HttpStatus.CREATED); }

相关文章
相关标签/搜索