微信内置浏览器下载
这两天做了下企业微信的开发,按照企业微信api进行开发很顺利,但是到报表导出时遇到问题,对Chrome/IE等浏览器适用的下载方法在微信内置浏览器中点击没有反应。在网上找到资料说是内置浏览器把文件下载功能给屏蔽了,只能在其它浏览器中打开,所以把我的解决方法记录下。
项目中后台使用的是springMVC框架
1. html中直接使用a标签href指向后台下载
2. 后台代码如下
String ua = request.getHeader("user-agent").toLowerCase();
if(ua.indexOf("micromessenger")>0){
HttpHeaders headers = new HttpHeaders();
String fileName = DateUtil.getDay() + ".xls";
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositonFormData("attachment", new String(fileName.getBytes("UTF-8"),"ISO8859-1"));
return new ResponseEntity<byte[]>(new byte[1],headers, HttpStatus.CREATED);
}
else{
//执行下载
}
此方法的主要思路为判断用户是否微信浏览器点击,若为微信浏览器则弹出类似的弹出框:
选择外置浏览器后会再次调用一遍该方法,此时可以正常下载。
第一次写博客,排版和语言表达能力感觉不行,以后努力变得更好!!