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

archivo.txt para guardar en SERVLET

Estas en el tema de archivo.txt para guardar en SERVLET en el foro de Java en Foros del Web. Hola a todos: Si esta pregunta ya ha sido respondida, me disculpo, aunque busqué bastante y no encontré lo que necesito. Lo que yo necesito, ...
  #1 (permalink)  
Antiguo 30/03/2010, 09:08
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 14 años, 11 meses
Puntos: 0
archivo.txt para guardar en SERVLET

Hola a todos:

Si esta pregunta ya ha sido respondida, me disculpo, aunque busqué bastante y no encontré lo que necesito.

Lo que yo necesito, es que mi pagina web,cuando el cliente la tiene en pantalla, aparezca un simple LINK que diga DESCARGAR ARCHIVO PLANO, y el usuario clikea ahi y se abre el tipico cuadro de dialogo de windows "GUARDAR".


El archivo plano esta listo, es un tipo java.io.FileWriter, aunque eso tampoco es reevante, porque se constuye dinamico y podria ser un tipo java.io.File, lo que no sé es como poner la direccion relativa en el LINK...

gracias.
  #2 (permalink)  
Antiguo 30/03/2010, 12:05
 
Fecha de Ingreso: abril-2009
Mensajes: 30
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: archivo.txt para guardar en SERVLET

Ya encontre como hacer, pero es un mas trabajo... lo que se debe hacer es apuntar el link hacia un servlet, y este debe tener estos codigos
try{
FileInputStream archivo = new FileInputStream("ruta/archivo.txt");
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=NOMBRE_ARCHIVO") ;
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(datos);
ouputStream.flush();
ouputStream.close();
}catch(Exception e){
e.printStackTrace();
}

y listo, en cada click se podra descargar el fichero...


saludos

Etiquetas: servlet
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 19:54.