为什么Firefox浏览器无法正确附加此文件?

时间:2013-08-22 06:48:05

标签: java csv

我遇到以下java代码的问题:

    final FacesContext facesContext = FacesContext.getCurrentInstance();
    final ExternalContext externalContext = facesContext.getExternalContext();
    final HttpServletResponse response = (HttpServletResponse) externalContext.getResponse();

    response.setContentType("text/plain; charset=ISO-8859-1");
    response.setHeader("Content-Disposition", "attachement;filename=result.csv");
    final OutputStream outputSteam = response.getOutputStream();

    CSVWriter writer = new CSVWriter(new OutputStreamWriter(outputSteam, "ISO-8859-1"), ';', '"');

    // Fill the csv file with something 

    writer.close();
    outputSteam.flush();
    outputSteam.close();

我有一个系统,这可以将一些文件导出为csv格式,这可以用MS Excel引用。有时,如果用户将csv导出文件保存在他的计算机硬盘上,则表计算程序可能无法自动启动。这样,该文件不是“result.csv”文件,而是“result.csv.txt”文件。但为什么?问题只存在于firefox浏览器中,而不是IE浏览器。

java代码中是否缺少任何内容?任何功能或什么?或者这是一个唯一的Windows内部问题,这不是我的java代码引起的?

感谢您的帮助!

格尔茨 Marwief

1 个答案:

答案 0 :(得分:0)

尝试将ContentType设置为text / csv而不是text / plain。

另请参阅Response Content type as CSV

相关问题