Abrir varios pdf en multiples pestañas de un browser desde servlet
Publicado por Victor (6 intervenciones) el 23/02/2015 17:07:40
Hola, estoy teniendo la sgte inquietud. Necesito abrir multiples archivos pdf en mi navegador, desde el servlet de java. A continuacion va el codigo que me permite abrir un pdf desde el servlet en un browser:
El sgte metodo es llamado desde un browser. Con esto logro abrir el primer pdf que se encuentra en la lista. El codigo hace un recorrido sobre una lista de archivos pdf pero solo el primero que lee es desplegado en el browser. Basicamente mi problema es el response, que vuelve al browser que ha llamado a este metodo una vez que acaba con el proceso, con la informacion correspondiente a un pdf. Existe una forma de abrir una pestaña para cada archivo que se lea de esa lista?
Gracias.
El sgte metodo es llamado desde un browser. Con esto logro abrir el primer pdf que se encuentra en la lista. El codigo hace un recorrido sobre una lista de archivos pdf pero solo el primero que lee es desplegado en el browser. Basicamente mi problema es el response, que vuelve al browser que ha llamado a este metodo una vez que acaba con el proceso, con la informacion correspondiente a un pdf. Existe una forma de abrir una pestaña para cada archivo que se lea de esa lista?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("estamos en el get de OpenPdf");
FileInputStream ficheroInput = null;
File dir = new File("C:\\Users\\vrecalde\\Desktop\\lab\\pdfs\\");
File[] fList = dir.listFiles();
int tamanoInput =0;
byte[] datosPDF = null;
for(int i = 0; i < fList.length; i++){
ficheroInput = new FileInputStream(fList[i]);
tamanoInput = ficheroInput.available();
datosPDF = new byte[tamanoInput];
ficheroInput.read( datosPDF, 0, tamanoInput);
response.setHeader("Content-disposition","inline; filename="+fList[i].getName());
response.setContentType("application/pdf");
response.setContentLength(tamanoInput);
response.getOutputStream().write(datosPDF);
ficheroInput.close();
}
}
Gracias.
Valora esta pregunta


0