Foros del Web » Programación para mayores de 30 ;) » Java »

Save file as en el cliente

Estas en el tema de Save file as en el cliente en el foro de Java en Foros del Web. Buenas, les escribo para ver si me pueden ayudar: Tengo una aplicación web la cual genera un archivo xls con la ayuda de POI y ...
  #1 (permalink)  
Antiguo 20/03/2009, 19:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 55
Antigüedad: 15 años, 9 meses
Puntos: 1
Save file as en el cliente

Buenas, les escribo para ver si me pueden ayudar:

Tengo una aplicación web la cual genera un archivo xls con la ayuda de POI y debe ser guardado en la maquina del cliente. En la maquina que se uso para desarrollo se programo usando JFileChooser y todo funcionaba bien hasta que se migro al servidor: no salia la pantalla para escoger el lugar donde debía ser guardado el archivo. Despues de analizar un poco observe que el JFileChooser es declarado y se le da la orden de abrir la pantalla de "Save file as" en el servlet, por lo tanto me imagino que es por eso que no aparece en la maquina cliente. Despues de esto, procedi a programar el JFileChooser en el JSP, sin embargo, sigue sin salir en la maquina del cliente.

¿Alguien tiene alguna sugerencia de como hacer que el cliente elija el lugar donde debe ser guardado el archivo que genera dinamicamente la aplicación?

Gracias

PD: document.execCommand no es una opción
  #2 (permalink)  
Antiguo 21/03/2009, 09:04
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Save file as en el cliente

Hola:

Lo más sencillo es generar el fichero en el servidor y poner un enlace a él en la página que ve el cliente. El cliente se lo puede descargar y guardar donde quiera.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 23/03/2009, 09:31
 
Fecha de Ingreso: febrero-2009
Mensajes: 55
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Save file as en el cliente

Gracias por tú pronta respuesta, analizare el escenario que propones aunque en lo personal preferiría implementar algo así como response.setContentType(*) para evitarme el tener que crear archivos en el servidor, que accese a ellos el cliente y después implementar algo para borrarlos.

Saludos.
  #4 (permalink)  
Antiguo 23/03/2009, 12:39
 
Fecha de Ingreso: febrero-2009
Mensajes: 55
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Save file as en el cliente

Bueno, después de rascarle un poquito por ahi y otro por alla, logre cumplir el requerimiento con el ServletOutputStream, para aquellos que tengan curiosidad:

response.setHeader("Content-disposition", "attachment; filename=" + hls_ruta);
response.setContentType("application/vnd.ms-excel");
ServletOutputStream hlo_sOut = response.getOutputStream();
//Crean el HSSFWorkbook y todo lo que vaya en él (hay mucha info en la web para hacer esto)
// Escribir la hoja xls
hlo_libro.write(hlo_sOut);
hlo_sOut.flush();
hlo_sOut.close();

De esta manera logro guardar o abrir un archivo tipo excel, de hecho para uno pdf (usando iText) seria casi idéntico, se usaría application/pdf para el contentType del response.

Saludos.
  #5 (permalink)  
Antiguo 06/04/2011, 13:24
 
Fecha de Ingreso: marzo-2011
Ubicación: ciudad del caos
Mensajes: 4
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Save file as en el cliente

sssss gracias.... me sakaste de un apuro.... solo ke yo lo implemente con el itext pero es exactamente igual solo cambia la instruccion de : "" response.setContentType("application/pdf");""

chido...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:55.