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

forzar descarga de archivo en jsp

Estas en el tema de forzar descarga de archivo en jsp en el foro de Java en Foros del Web. Hola, pues eso... ¿Cómo puedo hacer para forzar la descarga de un archivo con un link? pero en jsp, pues lo que he encontrado al ...
  #1 (permalink)  
Antiguo 09/11/2006, 12:59
 
Fecha de Ingreso: agosto-2006
Mensajes: 30
Antigüedad: 17 años, 8 meses
Puntos: 0
forzar descarga de archivo en jsp

Hola, pues eso...
¿Cómo puedo hacer para forzar la descarga de un archivo con un link? pero en jsp, pues lo que he encontrado al respecto está en php.
¿Alguien lo ha hecho antes? una ayudita please...

Gracias y saludos a tod@s.
  #2 (permalink)  
Antiguo 10/11/2006, 09:56
 
Fecha de Ingreso: agosto-2006
Mensajes: 30
Antigüedad: 17 años, 8 meses
Puntos: 0
Hola, realmente nadie sabe ... ?
Que lastima!!!!

Gracias de todas formas ...
  #3 (permalink)  
Antiguo 10/11/2006, 10:05
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
pues es lo mismo que ahces en PHP, modificar las cabeceras y leer el fichero

algo asi:
Código PHP:
<!--contents of download.jsp-->
<%@ 
page import="java.util.*,java.io.*"%>

<%
    
//lees el archivo claro que por aqui aplicas algunos filtros de seguridad y esas cosas
    
    
File f = new File ("c:/fop/mypdf/" request.getParameter("file") );
    
//aqui seleccionas el content type (puede ser excel/word/powerpoint etc..)
    
response.setContentType ("application/pdf");
    
//aqui seleccionas el nombre con el cual el usuario lo recibira
    
response.setHeader ("Content-Disposition""attachment; filename=\"LicenseAgreement.pdf\"");
    
    
//optenemos el nombre del archivo
    
String name f.getName().substring(f.getName().lastIndexOf("/") + 1,f.getName().length());
    
//leemos el archivo para mandarselo al cliente
    
        
InputStream in = new FileInputStream(f);
        
ServletOutputStream outs response.getOutputStream();
        
        
        
int bit 256;
        
int i 0;


            try {


                    while ((
bit) >= 0) {
                        
bit in.read();
                        
outs.write(bit);
                    }
                    
//System.out.println("" +bit);


                    
} catch (IOException ioe) {
                        
ioe.printStackTrace(System.out);
                    }

                    
outs.flush();
                    
outs.close();
                    
in.close();    
            %> 
have funnnnnn
  #4 (permalink)  
Antiguo 10/11/2006, 14:55
 
Fecha de Ingreso: agosto-2006
Mensajes: 30
Antigüedad: 17 años, 8 meses
Puntos: 0
Hola Stock, en verdad me has ayudado, ya lo tengo implementado.
Por ahora lo que necesito es poder refrescar una pagina automaticamente despues de algunos segundos, pero desde jsp.

te agradezco mucho.

Saludos.
  #5 (permalink)  
Antiguo 11/11/2006, 01:11
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Con uso de metatags en javascript
Código HTML:
<meta http-equiv="refresh" content="20;URL=tuPage.jsp" > 
Tambien se puede con setInterval:
Código HTML:
Puedes tb utilizar una función de javascript llamada setTimeout:

onLoad=window.setTimeout("location.href='PÁGINA_A_LA_QUE_ENVIAR.html'",10000)>//Le expresas el tiempo en milisegundos..1000=1 segundo///
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
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 00:15.