[英]Internet Explorer doesn't make file download, only characters appear
Internet Explorer不会下载文件,只会显示字符。
仅以Microsoft Office文件为例(.doc,.xls,.docx)
这是我的代码:
* .jspx:
<p:commandButton actionListener="#{LicitacaoControl.download}" icon="ui-icon-circle-zoomin" title="Visualizar Arquivo" ajax="false">
<f:param id="visualizar" name="visualizar" value="#{arquivo}" />
</p:commandButton>
Controller.java
public void download(ActionEvent evt) {
try {
Arquivo arquivo = (Arquivo) UtilFaces.getValorParametro(evt, "visualizar");
HttpServletResponse resp = UtilFaces.getResponse();
resp.addHeader("Content-disposition", String.format("inline; filename=\"%s.%s\"", arquivo.getDescricao(), arquivo.getExtensao()));
OutputStream out = resp.getOutputStream();
out.write(arquivo.getDados());
FacesContext facesContext = FacesContext.getCurrentInstance();
out.close();
facesContext.responseComplete();
} catch (IOException e) {
UtilFaces.addMensagemFaces(e);
}
}
对于下载,您应该使用Content-Disposition: attachment
而不是Content-Disposition: inline
。 内联显示文件与下载文件相反。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.