2013-10-17 4 views
0

Internet Explorer에서 파일을 다운로드하지 못하고 문자 만 표시됩니다. 예를 들어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); 
    } 
} 

답변

0

다운로드하려면 Content-Disposition: inline 대신 Content-Disposition: attachment을 사용해야합니다. 파일을 인라인으로 표시하는 것은 다운로드하는 것과 반대입니다.

+0

오른쪽 .. 고맙습니다. 다운로드하는 대신 파일을 보여 드리고 싶습니다. 어떻게해야합니까? – user2850123

관련 문제