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

Controlar descarga de archivos con Jsp y Java

Estas en el tema de Controlar descarga de archivos con Jsp y Java en el foro de Java en Foros del Web. Hola a todos, tengo una pagina web en jsp y tengo una pagina desde la cual, los usuarios pueden descargar archivos q tengo en el ...
  #1 (permalink)  
Antiguo 17/04/2007, 10:19
 
Fecha de Ingreso: marzo-2007
Mensajes: 14
Antigüedad: 17 años, 1 mes
Puntos: 0
Exclamación Controlar descarga de archivos con Jsp y Java

Hola a todos, tengo una pagina web en jsp y tengo una pagina desde la cual, los usuarios pueden descargar archivos q tengo en el servidor, lo estoy haciendo de la siguiente manera:
Código:
<%
try
{
    String nFile = "l2.txt";		
    FileInputStream archivo = new FileInputStream("C:/"+nFile); 
    int longitud = archivo.available();
    byte[] datos = new byte[longitud];
    archivo.read(datos);
    archivo.close();
    
    response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+nFile);    
    
    ServletOutputStream ouputStream = response.getOutputStream();
    ouputStream.write(datos);
    ouputStream.flush();
    ouputStream.close();
    	
}
catch(Exception e)
{ 
    e.printStackTrace();
}  
%>
si intentas ejecutar este código lo que hara la aplicación es:
cuando le des click en el link de descarga de tu archivo se abre una pagina con este código y enseguida se abre una ventana de descargas con las opciones "Open", "Save", "Cancel". Si le das "Save" el archivo se guarda en el path que seleccione el usuario, si le das "Cancel" no lo desacarga y si le das "Open" trata de abrir el contenido del archivo en el browser.

este código funciona muy bien, el problema q tengo es que necesito saber, cuando un usuario terminó de descargar un archivo exitosamente, es decir si el usuario termina de descargar el archivo, debo mostrar un mensaje en la pagina jsp q dice:
Código:
<td>La descarga fue completada con éxito</td>
y si cancela la descarga debo mostrar un mensaje que diga:
Código:
<td>La descarga fue cancelada</td>
cuando el programa llega a la parte (señalada anteriormente):
Código:
response.setHeader("Content-Disposition","attachment;filename="+nFile);
este muestra la ventana de descarga, pero no espera a saber q opcion elije el usuario (Open, Save, Cancel), si no q sigue ejecutando el codigo q esta abajo de esa linea.

Espero que alguien me pueda ayudar con este programa, o conozca alguna otra manera de saber si se descargó completamente un archivo, no se si exista otra manera de hacerlo con Javascript o algo asi,

Agradezco su gentil atención

Última edición por NiceMan; 17/04/2007 a las 10:25
  #2 (permalink)  
Antiguo 24/04/2007, 21:05
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años
Puntos: 0
Re: Controlar descarga de archivos con Jsp y Java

Hola como estas yo que hacer una aplicacion como la que haces tu pero no se ni como, y me gustaría que me guiaras o me dijeras como le has hecho para lograr por lo menos bajar el archivo, por favor si puedes ayudarme te lo agradesería muchisimo

  #3 (permalink)  
Antiguo 08/05/2008, 17:08
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Re: Controlar descarga de archivos con Jsp y Java

que tal, oye yo tengo una pregunta, cuando te abre el cuadro de dialogo de descarga te aparece el nombre del archivo, el problema surge cuando ese nombre tiene espacios, cuando sucede eso el cuadro de descarga te muestra solo hasta donde encuentra el primer espacio, no se si te hayas dado cuenta de ese problemilla y como podria solucionarlo
  #4 (permalink)  
Antiguo 25/03/2011, 10:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Respuesta: Controlar descarga de archivos con Jsp y Java

Cita:
Iniciado por NiceMan Ver Mensaje
Hola a todos, tengo una pagina web en jsp y tengo una pagina desde la cual, los usuarios pueden descargar archivos q tengo en el servidor, lo estoy haciendo de la siguiente manera:
Código:
<%
try
{
    String nFile = "l2.txt";		
    FileInputStream archivo = new FileInputStream("C:/"+nFile); 
    int longitud = archivo.available();
    byte[] datos = new byte[longitud];
    archivo.read(datos);
    archivo.close();
    
    response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+nFile);    
    
    ServletOutputStream ouputStream = response.getOutputStream();
    ouputStream.write(datos);
    ouputStream.flush();
    ouputStream.close();
    	
}
catch(Exception e)
{ 
    e.printStackTrace();
}  
%>
si intentas ejecutar este código lo que hara la aplicación es:
cuando le des click en el link de descarga de tu archivo se abre una pagina con este código y enseguida se abre una ventana de descargas con las opciones "Open", "Save", "Cancel". Si le das "Save" el archivo se guarda en el path que seleccione el usuario, si le das "Cancel" no lo desacarga y si le das "Open" trata de abrir el contenido del archivo en el browser.

este código funciona muy bien, el problema q tengo es que necesito saber, cuando un usuario terminó de descargar un archivo exitosamente, es decir si el usuario termina de descargar el archivo, debo mostrar un mensaje en la pagina jsp q dice:
Código:
<td>La descarga fue completada con éxito</td>
y si cancela la descarga debo mostrar un mensaje que diga:
Código:
<td>La descarga fue cancelada</td>
cuando el programa llega a la parte (señalada anteriormente):
Código:
response.setHeader("Content-Disposition","attachment;filename="+nFile);
este muestra la ventana de descarga, pero no espera a saber q opcion elije el usuario (Open, Save, Cancel), si no q sigue ejecutando el codigo q esta abajo de esa linea.

Espero que alguien me pueda ayudar con este programa, o conozca alguna otra manera de saber si se descargó completamente un archivo, no se si exista otra manera de hacerlo con Javascript o algo asi,

Agradezco su gentil atención

ayuda. yo quero descargarme un archivo desde el servidor pero cuando pegue tu codigo lo que hace es descargarme el servlet o algo asi y me da un medio error ayuda
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 01:03.