从webapp下载模板文件未显示打开/另存为对话框

时间:2016-06-08 18:18:44

标签: jsf download richfaces

我正在尝试从服务器下载模板文件(Template.xls)。但是没有弹出打开/另存为对话框来下载文件。我正在使用Jboss eap 6.3

这是我的代码,

OutputStream os = null;
InputStream is = null;
try {
    URL resource = FacesContext.getCurrentInstance().getExternalContext().getResource("/WEB-INF/Template.xls");
    is = resource.openStream();
    FacesContext facesContext = FacesContext.getCurrentInstance();
    HttpServletResponse resp = (HttpServletResponse) facesContext.getExternalContext().getResponse();
    resp.setHeader("Content-disposition", "attachment; filename=Template.xls"); 
    resp.setContentType("application/vnd.ms-excel");

    os = resp.getOutputStream();                        
    IOUtils.copy(is, os);
    os.flush();
    facesContext.responseComplete();
} catch (Exception e) {
    StatusMessages.instance().add(StatusMessage.Severity.ERROR, "Error occured while downloading IPS document");

} finally {
    IOUtils.closeQuietly(os);
    IOUtils.closeQuietly(is);
}

在richfaces菜单中调用此文件模板,如他的

<rich:menuGroup style="font-size:10px;" label="Utilities" icon="img/TolMaintenance.png">
                        <rich:menuItem style="font-size:10px;" action="#{excelTemplate.downloadExcelTemplate}" label="Template" icon="img/catadmin.png" >
                        </rich:menuItem>
                    </rich:menuGroup>

服务器日志上没有错误消息,文件也存在于服务器位置,而调试时我看到URL指向同一位置。我检查了以下链接,

Open/Save as... dialog box not showing

我面临同样的问题。我已经尝试了那里提供的建议,但没有任何结果。

有人可以帮我解决这个问题吗?

0 个答案:

没有答案