2013-01-12 90 views
1

我正在使用由JSF 2.1包装的HttpServletResponse以制作下载按钮。继这个答案的说明:https://stackoverflow.com/a/9394237/870122FireFox为通过HttpServletResponse下载的文件添加txt扩展

因为我想下载一个csv文件,我用下面的标题:

FacesContext fc = FacesContext.getCurrentInstance(); 
ExternalContext ec = fc.getExternalContext(); 
ec.responseReset(); 
String fileName = "MyFile.csv"; 
ec.setResponseContentType("text/plain"); 
ec.setResponseHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); 

下载成功既IE9和FF完成,但与第二我见浏览器添加了一个我想避免的“.txt”扩展名。

回答

2

也许你应该响应内容类型设置为text/csv

+0

感谢尝试,您的解决方案完美地工作,但我找不到一个权威的参照此内容类型周围... – perissf

+0

试着看一下[百科] (http://en.wikipedia.org/wiki/Comma-separated_values),更具体地说[RFC 4180](http://tools.ietf.org/html/rfc4180) – zoom

相关问题