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

Copiar datos de servidor a maquina local

Estas en el tema de Copiar datos de servidor a maquina local en el foro de Java en Foros del Web. Hola. Estoy haciendo una aplicación web en la que el usuario puede subir ficheros de su maquina local al servidor. Eso ya lo tengo hecho. ...
  #1 (permalink)  
Antiguo 16/08/2012, 17:51
 
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Copiar datos de servidor a maquina local

Hola. Estoy haciendo una aplicación web en la que el usuario puede subir ficheros de su maquina local al servidor. Eso ya lo tengo hecho. Lo hice con el componente Fileupload (no se si es exclusivo de tapestry o no)

El caso es que ahora necesito hacer la operacion inversa. Es decir copiar algunos archivos del servidor a la maquina local. No se si hay algún componente con el que se pueda hacer.

Tengo pensado usar un FileDialog para escoger la ruta en el disco duro y después mediante otro botón que se llame copiar realizar la copia desde la ruta en mi servidor al directorio que selecciono.

Lógicamente no vale hacer una copia normal de ficheros como se haría entre 2 directorios de disco no?

A ver si alguien me puede dar un pista de por donde tirar porque no encontré mucha información la verdad
  #2 (permalink)  
Antiguo 17/08/2012, 01:28
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Copiar datos de servidor a maquina local

Hola:

En principio no puedes hacerlo por temas de seguridad ... ¿te gustaría que al visitar una página web esa página web pusiera ficheros en tu disco según le apeteciera?

La forma normal es ponerle al usuario un enlace para que él manualmente se descargue el fichero. Así ya sale lo del filedialog y todo (lo saca el navegador, tú no tienes que hacer nada).

Y la otra opción es hacer un applet firmado o algún tipo de código que corra en el navegador, decirle al usuario que confíe en el applet o en el código en cuestión y así, con permiso del usuario, tendrías acceso a su disco desde un programa que corre en su navegador y no en tu servidor.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 17/08/2012, 18:56
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años
Puntos: 37
Respuesta: Copiar datos de servidor a maquina local

Creo que podrias hacerlo mediante FTP, en la maquina local habilitas un ftp server, y desde el webserver (maquina remota) se hace la conexion que hace el GET de la maquina remota y el PUT en el disco local.

Quiza tambien con FSO (fileSystemObject), pero no se bien.
  #4 (permalink)  
Antiguo 18/08/2012, 10:32
 
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Copiar datos de servidor a maquina local

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

En principio no puedes hacerlo por temas de seguridad ... ¿te gustaría que al visitar una página web esa página web pusiera ficheros en tu disco según le apeteciera?

La forma normal es ponerle al usuario un enlace para que él manualmente se descargue el fichero. Así ya sale lo del filedialog y todo (lo saca el navegador, tú no tienes que hacer nada).

Y la otra opción es hacer un applet firmado o algún tipo de código que corra en el navegador, decirle al usuario que confíe en el applet o en el código en cuestión y así, con permiso del usuario, tendrías acceso a su disco desde un programa que corre en su navegador y no en tu servidor.

Se bueno.
Eso me valdria perfectamente.

¿Como funcionaria?
¿es un link normal que apunta al fichero almacenado en el ordenador o como?
  #5 (permalink)  
Antiguo 19/08/2012, 01:07
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Copiar datos de servidor a maquina local

Pues exactamente eso, un link normal que apunte al fichero.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #6 (permalink)  
Antiguo 13/09/2012, 10:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Copiar datos de servidor a maquina local

Hola.

Deje la aplicacion de lado durante unos dias. Me volvía poner con el tema de exportar ficheros e hice lo que me dijiste del link. Pero tengo 2 problemas.

1. Solo me sale un dialogo para aceptar o cancelar la descarga pero no para permitirme seleccionar el directorio. Me lo guarda directamente en la carpeta de descargas.

2. Es que necesitaria ejecutar un método que me cree un fichero xml y me lo comprima junto con el resto de ficheros en un .zip. Entonces como hago que mi link apunte a un fichero que todavia no existe porque lo voy a crear en tiempo real ?? que pondria en href= ???

La verdad es que pense que esto iba a ser facil pero lo intente de la forma que lo intente siempre da problemas. Tambien intente modificar el componente fileUpload (usado para subir ficheros al servidor) de forma inversa pero tampoco creo que se pueda
  #7 (permalink)  
Antiguo 13/09/2012, 11:55
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Copiar datos de servidor a maquina local

Hola:

No tengo muy claro qué estás haciiendo..... parece raro.

La 1. lo de elegir o no un directorio es cosa de configuración del navegador. Ese mismo navegador, si descargas un fichero de otra página web, posiblemente tampoco te de opción.

La 2. Alguien llama a tu página, tu generas el fichero xml y zip sobre la marcha donde quieras y ... lo normal es que también generes la página sobre la marcha, al menos el href=".....

Código jsp:
Ver original
  1. <%
  2.    Codigo para generar el fichero xml, zip y lo que quierasn, por ejemplo en fichero.zip
  3.    String nombre = "fichero.zip"; // o lo que sea.
  4. %>
  5. ...
  6. <a href="<% out.print(nombre); %>descargar</a>

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 13/09/2012, 12:18
 
Fecha de Ingreso: mayo-2011
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Copiar datos de servidor a maquina local

Te comento por encima. Estoy haciendo una aplicacion para subir estudios DICOM( son estudios medicos de radiografias tacs etc). y poder realizar comentarios acerca de ellos y visualizar sus imagenes.

Cada estudio esta formado por muchas imagenes ( ficheros .dcm)

Lo de subirlos al servidor ya está hecho, lo hago con el componente FileUpload de Tapestry. Subo archivos .zip donde están comprimidos todos los .dcm de ese estudio, y luego los descomprimo y los meto en una carpeta que se llama por ejemplo "1" y elimino el .zip

Ahora lo que necesito es tener una opcion para que un usuario pueda guardar en su maquina local un estudio que a lo mejor subió otro usuario.

Por tanto lo que necesito es generar un ficchero xml con todos los comentarios que se pudieron hacer de ese estudio y omprimir este xml junto con todos los .dcm en un .zip. El problema es que tambien necesito tener la opcion de elegir en que directorio local poder guardarlo.

Lo siento por el rollo. Le comente al tutor que me parecia que no se daba hecho lo de seleccionar el direcctorio y todo esto pero me dice que si que es posible .......
  #9 (permalink)  
Antiguo 13/09/2012, 15:08
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Copiar datos de servidor a maquina local

Buenas:

Como te comenté antes, lo de seleccionar el directorio es cosa del navegador, mira las opciones de tu navegador (En chrome, por ejemplo, "llave inglesa" -> "configuración" -> "mostrar opciones avanzadas" -> marcar la casilla "Preguntar dónde se guardará cada archivo antes de descargarlo"

Lo otro es fácil, según la gente sube estudios vas generando el xml. Cuando alguien quiera descargarlo, el xml está creado y puedes poner sin problemas el href. De hecho, puedes crear un xml vacío cuando alguien sube el zip inicial, así aunque nadie haga estudios, el fichero existe.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: local, maquina, servidor, aplicaciones
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 14:32.