Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Controlar descarga de archivos con Jsp y Java (http://www.forosdelweb.com/f45/controlar-descarga-archivos-con-jsp-java-482217/)

NiceMan 17/04/2007 10:19

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:-)

malloc_for 24/04/2007 21:05

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

:-)

drac94 08/05/2008 17:08

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

jruano30 25/03/2011 10:25

Respuesta: Controlar descarga de archivos con Jsp y Java
 
Cita:

Iniciado por NiceMan (Mensaje 1971770)
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


La zona horaria es GMT -6. Ahora son las 19:57.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.