@Override public void export(HttpServletRequest request, HttpServletResponse response, List<Map<String, Object>> dataResult, String saveAsFileName) throws ServletException, UnsupportedEncodingException { response.setContentType("text/html;charset=utf-8"); // 完美解决IE浏览器下载中文乱码的问题,兼容IE,Firefox,Chorme String agent = request.getHeader("User-Agent"); boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1); String fileName = null; if (isMSIE) { fileName = URLEncoder.encode(saveAsFileName, "UTF-8"); } else { fileName = new String(saveAsFileName.getBytes("UTF-8"), "ISO-8859-1"); } BufferedOutputStream bos = null; try { byte[] data = exportReport(dataResult); long fileLength = data.length; response.addHeader("Content-Length", "" + fileLength); response.setContentType("application/octet-stream;charset=UTF-8"); // response.setContentType("application/x-msdownload;"); response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".zip"); response.setHeader("Content-Length", String.valueOf(fileLength)); bos = new BufferedOutputStream(response.getOutputStream()); bos.write(data); bos.flush(); } catch (IOException e) { throw new ServletException(e.getMessage(), e); } finally { try { if (bos != null) bos.close(); } catch (IOException e) { throw new ServletException(e.getMessage(), e); } } }
相关推荐
本文将深入解析如何在Spring MVC中实现文件下载功能,包括文件读取、响应头设置、以及如何处理不同浏览器的兼容性问题。 首先,文件下载的实现思路是将文件内容读取到内存中,通常使用字节数组来存储文件内容,再...
2. **浏览器兼容性**:支持IE6及以上版本以及Firefox 3及以上版本。 3. **服务器**:使用Tomcat 5.0.2.8或Tomcat 6作为Java EE服务器。 4. **集成开发环境(IDE)**:推荐使用Eclipse或MyEclipse 8进行开发。 5. **...
- 启用字符编码过滤器,以解决中文乱码问题。 3. **配置dispatcher.xml** - 定义Spring MVC的上下文配置文件,包含对视图解析器、拦截器、处理器映射器等的配置。 - 通过`<context:component-scan>`标签自动扫描...
- 中文乱码:修改Tomcat的`server.xml`文件,添加字符集设置以解决乱码问题。 通过这个项目,学习者不仅可以了解SSM框架的实际运用,还能学习到数据库设计、Web开发流程、数据可视化以及问题排查等方面的知识,...
中文乱码是跨平台、跨浏览器通信时常见的问题,这个文档可能提供了有效解决这个问题的方法,对于进行多语言网站开发的开发者具有指导意义。 9. **控制Word-Excel在IE中打开,还是下载**:在Web应用中,有时需要控制...
- `request.setCharacterEncoding("UTF-8")`确保请求参数的编码是UTF-8,避免中文乱码问题。 - `response.setContentType("application/msexcel;charset=utf-8")`定义了响应的MIME类型,这里设置为`application/ms...
开发者可以使用诸如Spring MVC的模型绑定或直接在控制器中解析请求参数来获取日期值。 6. **兼容性与性能** My97Datepicker控件具有良好的浏览器兼容性,支持IE6+及现代浏览器。它的性能优化做得很好,即便在大量...
4. **配置过滤器**:配置`CharacterEncodingFilter`以解决POST请求可能出现的乱码问题,确保请求和响应使用UTF-8编码。 5. **配置SpringMVC配置文件**(例如`applicationContext-mvc.xml`):定义处理器映射器、...