码迷,mamicode.com
首页 > 编程语言 > 详细

springMVC下载功能

时间:2018-06-01 13:31:13      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:servlet   乱码   info   分享   value   响应头   href   ram   body   

前台页面

<a href="download">下载</a>

后台代码

/**
	 * 文件下载
	 * @param request
	 * @return
	 * @throws IOException
	 */
	@RequestMapping(value="/download")
	public ResponseEntity<byte[]>   download(HttpServletRequest request) throws IOException{
	      String fileName="book.xml";
	      //得到文件所在位置
	      String realPath ="c://book.xml";
	      //将该文件加入到输入流之中
	      InputStream in=new FileInputStream(new File(realPath));
	      byte[] body=null;
	      // 返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数
	      body=new byte[in.available()];
	      //读入到输入流里面
	      in.read(body);
	      //防止中文乱码
	      fileName=new String(fileName.getBytes("gbk"),"iso8859-1");
	      //设置响应头
	      HttpHeaders headers=new HttpHeaders();
	      headers.add("Content-Disposition", "attachment;filename="+fileName);
	      //设置响应吗
	      HttpStatus statusCode = HttpStatus.OK;
	      ResponseEntity<byte[]> response=new ResponseEntity<byte[]>(body, headers, statusCode);
	      return response;
	}
	

  

页面效果

技术分享图片

 

springMVC下载功能

标签:servlet   乱码   info   分享   value   响应头   href   ram   body   

原文地址:https://www.cnblogs.com/chunhui521/p/9120808.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!