Java - COPIAR FICHERO SERVIDOR/CLIENTE

 
Vista:

COPIAR FICHERO SERVIDOR/CLIENTE

Publicado por Maria Jose (6 intervenciones) el 02/08/2007 12:08:59
Hola programadores, espero que me puedan ayudar.

Tengo una aplicación java con jsp y servlets y, en una parte de ella, necesito el envio de ficheros cliente/servidor y viceversa.
Con el envio cliente/servidor ya no tengo problema, he utilizado el MultipartRequest y solucionado.
El problema lo tengo cuando quiero hacer lo contrario, es decir, que el cliente tenga que grabar un fichero generado en el servidor en la unidad a: de su pc.
He estado mirando por todos los foros y muchos ejemplos pero no he dado con la solución. Necesito algo que sea muy automático y que el cliente no deba hacer nada de nada (sólo poner el diskette, claro).

Muchas gracias por vuestro interés.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:COPIAR FICHERO SERVIDOR/CLIENTE

Publicado por angel (537 intervenciones) el 02/08/2007 12:33:53
No es demasiado complicado, lo que tiens k hacer, es en vez d enviar una peticion de que se muestre una pagina dsd el servlet, enviar la informacion del fichero, t pongo un trozo d codigo:

java.io.OutputStream os = response.getOutputStream(); //Obtener la salida
java.io.ByteArrayOutputStream baos = (java.io.ByteArrayOutputStream) session.getAttribute("baos"); //En baos tngo los bytes que forman el fichero
response.setContentType("application/pdf"); //Yo stoy descargando un pdf
response.setHeader("Content-Disposition", "attachment; filename=archivo.pdf");//nombre y extension del fichero
response.setContentLength(baos.size()); //Se introduce el tamaño del fichero
os.flush();
baos.writeTo(os); //Se escribe n la salida
os.flush();
session.removeAttribute("baos"); //borro d la sesion los datos del fichero
os.close();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COPIAR FICHERO SERVIDOR/CLIENTE

Publicado por Maria Jose (6 intervenciones) el 03/08/2007 11:26:50
Angel, ante todo muchas gracias por tu respuesta. Lo he estado mirando y me queda bastante claro cómo pasar el fichero del servidor al cliente guardandolo en la request con un session.setAttribute. El problema que estoy viendo es que no sé como decirle que lo copie en el diskette ya que si le digo directamente la ruta (a:\) el servidor no me lo va a encontrar porque busca en la unidad a: del servidor.
¿Sabrias cómo hacerlo? Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COPIAR FICHERO SERVIDOR/CLIENTE

Publicado por angel (537 intervenciones) el 03/08/2007 11:35:43
No, y no creo k puedas especificar desde un servlet una ruta local en otro equipo. Lo unico es que el usuario, cuando t muestre la ventana de descarga el que seleccione el diskete a:. Quizas podrias poner n la pagina anterior un mensaje bien claro para que el usuario guarde ese archivo en la unidad a:

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:COPIAR FICHERO SERVIDOR/CLIENTE

Publicado por Maria Jose (6 intervenciones) el 03/08/2007 11:39:15
OK. Muchas gracias, angel, ya me imaginiaba yo que no podia ser....
De todas maneras, ya tengo montado un link para la descarga del fichero pero lo que me pasa es que en vez de pedir dónde guardar el archivo me lo abre directamente. Es decir, estoy problando con zip y lo que hace es mostrarme el contenido. ¿Sabes si hay alguna manera de decirle que no lo abra y simplemente lo descargue?
Perdona por el abuso de información.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar