在SpringMvc中文件下载的简单方式
2019-01-22 15:00
92 查看
1.通过使用普通的方式进行文件下载
[code]@ResponseBody @RequestMapping(value = "/downLoadImage") public void downImageTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException { BufferedOutputStream bos=null; BufferedInputStream bis=null; try { //获取下载文件路径 String path=ResourceUtils.getFile("classpath:static/favicon.ico").getCanonicalPath(); //创建下载文件对象 File file=new File(path); //设置响应头 response.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(file.getName(), "utf-8")); //读取文件流 bis=new BufferedInputStream( 4000 new FileInputStream(path)); //输出文件流 bos=new BufferedOutputStream(response.getOutputStream()); byte[] bys=new byte[1024]; int i=-1; while ((i=bis.read(bys))!=-1){ bos.write(bys,0,i); bos.flush(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { bos.close(); bis.close(); } }
2.通过ResponseEntity对象进行下载
[code]@ResponseBody @RequestMapping(value = "/downLoadImage") public ResponseEntity<byte[]> downImageTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException { //创建响应头对象 HttpHeaders headers=new HttpHeaders(); //获取文件路径 String path=ResourceUtils.getFile("classpath:game_templates/tupian.rar").getCanonicalPath(); //创建下载文件对象 File file=new File(path); //设置文件响应类型,通过二进制流下载,及所有类型对象 headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); //设置下载文件名 headers.setContentDispositionFormData("attachment", file.getName()); //获取文件字节数组 byte[] fileByts=FileUtils.readFileToByteArray(file); return new ResponseEntity<byte[]>(fileByts,headers,HttpStatus.CREATED); }
相关文章推荐
- SpringMVC简单入门 源码jar包下载和文件上传
- 最简洁简单的JSP下载文件的方式。
- springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)
- springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)
- javaweb简单通过springmvc实现文件下载
- springmvc文件上传下载简单实现案例(ssm框架使用)
- 在javaweb中下载文件两种简单的方式
- springmvc文件上传下载简单实现案例(ssm框架使用)
- 用SpringMVC实现的上传下载方式二(多文件上传)
- SpringMVC和jQuery的Ajax简单文件上传下载示例
- js实现文件下载的两种简单方式
- springmvc文件上传下载简单实现案例(ssm框架使用)
- springmvc获取资源文件的两种方式(超简单)
- java实现简单文件复制(文件上传)以及springMVC中上传文件方式
- 基于maven学习SpringMVC笔记包含环境搭建、springMVC特有的方式收参,流程跳转、参数传递、注解开发、文件上传下载、拦截器、全局异常处理
- SpringMVC中两种处理文件上传下载的方式.md
- 最简单的方式实现文件下载
- 简单介绍用JSP来实现文件下载功能的几种方式
- SpringMVC 中文件上传 MultipartResolver两种使用方式及简单源码分析
- springmvc文件上传下载简单实现案例(ssm框架使用)