Stack Overflow en español Asked by Jonathan ch on March 1, 2021
Tengo este código que lo que hace es abrir un PDF que está en una ruta.
Al abrir este archivo, efectivamente lo abre, pero en consola me muestra el error de getoutputstream() has already been called for this response
y es molesto porque puede generar errores futuros.
No he logrado hacer que no ocurra ese error y por eso busco ayuda.
<%@page import="java.io.FileInputStream"%>
<%@page trimDirectiveWhitespaces="true"%>
<%@ page language="java" contentType="application/pdf; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import= "java.io.*" %>
<%
boolean error=false;
try {
String nombreArchivo=request.getParameter("doc");
Archivos archivo= new Archivos();
FileInputStream ficheroInput = new FileInputStream("C:\archivo\archivo.pdf");
int tamanoInput = ficheroInput.available();
byte[] datosPDF = new byte[tamanoInput];
ficheroInput.read( datosPDF, 0, tamanoInput);
response.reset();
response.resetBuffer();
response.flushBuffer();
response.setHeader("Content-disposition","inline; filename=unrt.pdf" );
response.setContentType("application/pdf");
response.setContentLength(tamanoInput);
response.getOutputStream().write(datosPDF);
ficheroInput.close();
} catch (Exception e) {
error=true;
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Visor PDF</title>
</head>
<body>
<% if(error){
%>
<h1>Ocurrió un error al cargar el archivo</h1>
<%}
%>
</body>
</html>
Pon esta linea al final:
FacesContext.getCurrentInstance().responseComplete();
antes del ficheroInput.close();
Answered by user130499 on March 1, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP