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

Enviar archivo desde JSP a servidor FTP

Estas en el tema de Enviar archivo desde JSP a servidor FTP en el foro de Java en Foros del Web. Hola Ahora estoy usando las librerías de Fileupload que porporciona apache para poder tomar un archivo desde la web por medio de un formulario y ...
  #1 (permalink)  
Antiguo 15/11/2009, 20:05
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Enviar archivo desde JSP a servidor FTP

Hola

Ahora estoy usando las librerías de Fileupload que porporciona apache para poder tomar un archivo desde la web por medio de un formulario y almacenarlo en un servidor remoto.

El asunto es que ese archivo no lo quiero guardar en el servidor donde se encuentran las JSP y Servlets necesarios para obtener el archivo, sino que lo quiero enviar a un servidor FTP que he creado.

La duda surge cuando intento cambiar la dirección del web.xml y del servlet que indican dónde se guardará mi archivo. Realmente se puede hacer esto o las JSP, los servlets y las librerías de Fileupload deben estar ubicadas en el servidor FTP?
Necesito un cliente FTP necesariamente para lograr esto?

Algún aporte?

Gracias
  #2 (permalink)  
Antiguo 18/11/2009, 03:36
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Enviar archivo desde JSP a servidor FTP

Wenas

No entiendo tu pregunta. Tienes un servidor con tus jsps y servlets (servidorWeb) donde obtienes un fichero del cliente con fileupload, hasta ahi correcto.

Luego quieres mandar ese fichero por ftp a otro servidor (servidorFtp) que no tiene nada que ver con esta historia.

Correcto??

Por que si es asi no se donde esta el problema. Obtienes tu fichero con fileupload en servidorWeb y, desde ahi, lo mandas al servidorftp con, por ejemplo, SimpleFTP.

O eso o no te he entendido.

Saludos.
  #3 (permalink)  
Antiguo 19/11/2009, 01:28
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Enviar archivo desde JSP a servidor FTP

Hola elAntonie

Gracias por responder

Sí, todo va bien en el momento en que recibo un archivo desde el cliente con JSP y FileUpload. El archivo se guarda en la computadora que funciona de servidor Web, la cosa es que yo quiero hacer que ese archivo se guarde en un servidor FTP que he configurado. Bueno hice una compu servidor HTTP y FTP al mismo tiempo para cuestiones de pruebas. Lo que quiero hacer es que ese archivo se guarde en la carpeta que yo le indique en la dirección del servidor FTP. En este caso sería la misma máquina pero la idea es que se guarde el archivo en la carpeta que le asigne al servidor FTP.

Estoy usando el FileZilla Server. Sé que se pueden subir archivos por medio de su cliente FTP o cualquier otro, pero no quiero que después de que el archivo se guardó en el servidor HTTP todavía se tenga que pasar al FTP por medio del cliente. Eso es lo que pregunto:

¿Se puede guardar el archivo que recibo con JSP directamente en el servidor FTP sin necesidad de pasar por un cliente FTP?

O ahora que lo pienso, el que me has dicho elAntonie, manda el archivo directamente al servidor FTP desde una clase Java? O sea, puedo tratar ese archivo con esa clase para después ser enviado al servidor FTP?

Mi confusión surgió cuando ví que podía crear usuarios y restricciones a éstos para accesar al servidor FTP, entonces si envío el archivo, no tendrá que validar el servidor FTP si quien intenta subir el archivo tiene permisos para hacer eso?

Ah caray! Ojalá me haya explicado correctamente para encontrar una solución a esto.

  #4 (permalink)  
Antiguo 19/11/2009, 10:20
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Enviar archivo desde JSP a servidor FTP

Cita:
Iniciado por Gguer Ver Mensaje
Hola elAntonie


Estoy usando el FileZilla Server. Sé que se pueden subir archivos por medio de su cliente FTP o cualquier otro, pero no quiero que después de que el archivo se guardó en el servidor HTTP todavía se tenga que pasar al FTP por medio del cliente. Eso es lo que pregunto:

¿Se puede guardar el archivo que recibo con JSP directamente en el servidor FTP sin necesidad de pasar por un cliente FTP?
Nononononononono

Tu subes un fichero de la maquina del cliente al servidor web, eso lo tienes controlado.

Lo que yo te digo, es que desde el servidorWeb subas ese fichero al servidorFTP.

Por otro lado, no se si existe alguna clase java similar a lo que hace SimpleFTP (facilmente si) que recoja el inputstream que seria el fichero mandado por fileupload y lo guarde directamente en una maquina usando FTP.

Si no existiera siempre puedes usar el servidorWeb de intermediario. Lo obtienes, lo mandas por ftp al servidorftp, y lo borras del servidorweb (o lo que quieras hacer).

Saludos.
  #5 (permalink)  
Antiguo 19/11/2009, 11:27
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Enviar archivo desde JSP a servidor FTP

Hola

Entonces el envío desde el servidor Web al seridor FTP siempre se hace después de alojar el archivo en el servidor Web? Es decir, después de que recibo el archivo con JSP y lo guardo en el servidor, lo envío al servidor FTP manualmente? uso un cliente FTP que se conecte al servidor FTP en cuestión para enviar los archivos yo mismo.

Entonces no puedo enviarlo directamente al servidor FTP por esto:


Cita:
Mi confusión surgió cuando ví que podía crear usuarios y restricciones a éstos para accesar al servidor FTP, entonces si envío el archivo, no tendrá que validar el servidor FTP si quien intenta subir el archivo tiene permisos para hacer eso?
Porque si no, no tendría sentido que el servidor FTP me dejara crear usuarios y sus respectivas restricciones si de cualquier manera lo podría enviar directamente desde la JSP

Pensando un poco... Para recuperar archivos del servidor FTP cómo los llamaría? Si yo mismo soy quien los aloja en el servidor FTP, no podría saber cuando alguien solicite un archivo, no lo puedo dejar esperando hasta que me llegue un aviso.

Supongo que esto último tiene una solución más práctica, y tiene que ver con mi primer pregunta.

Bueno gracias por atender, espero respuesta.

  #6 (permalink)  
Antiguo 20/11/2009, 04:14
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Enviar archivo desde JSP a servidor FTP

Cita:
Iniciado por Gguer Ver Mensaje
Entonces el envío desde el servidor Web al seridor FTP siempre se hace después de alojar el archivo en el servidor Web? Es decir, después de que recibo el archivo con JSP y lo guardo en el servidor, lo envío al servidor FTP manualmente? uso un cliente FTP que se conecte al servidor FTP en cuestión para enviar los archivos yo mismo.

Claro. Si no pasaras por el servidorWeb tendrias que tener la clase de FTP en el cliente. De este modo podrias usarlo sin problemas.

Tu (desde el servidorweb) te conectas contra el servidorftp con un usuario y una contraseña (usu pepito, pwd pepito) . Subes el fichero, que anteriormente ha subido el cliente por fileupload, al servidor ftp.

Para devolver el fichero?? el cliente mandara una peticion al servidorWeb, (por ejemplo llama al servlet /tuaplicacion/dameFichero?nombre=mificherodetexto.txt) te conectas al servidor ftp como pepito y recoges el fichero, una vez lo obtienes (en el servidorWeb), lo puedes guardar en una ruta temporal, o con un applet lo guardas en el cliente, o lo muestras directamente estableciendo el mime-type ..., hay varias maneras de hacerlo.

No se que tienen que ver los usuarios, ni los roles, ni los permisos ni nada, ya que tu (como servidorWeb) te conectaras al servidorFtp SIEMPRE CON EL MISMO USUARIO. y como es el mismo que ha guardado el fichero, que restriccion va a tener para obtenerlo?? Si estableceieras roles, para que el usuario que te pida el fichero, no pueda verlo, tendrias que establecerlos en el servidorWeb. Sigo sin ver el problema.

Creo que te estas complicando demasiado la vida, los arboles no te dejan ver el bosque.

Saludos.

Última edición por elAntonie; 20/11/2009 a las 04:20
  #7 (permalink)  
Antiguo 20/11/2009, 11:29
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Enviar archivo desde JSP a servidor FTP

Hola

Todo eso de las restricciones lo menciono porque el problema es que no tenía claro eso de la conexión entre el cliente (usuario) y el servidor FTP, no tenía claro cómo es que voy a llamar a un archivo en el servidor FTP sin antes haberme conectado a dicho servidor, es por eso que decía que cómo puedo pedir un archivo si no me he conectado.

Entiendo lo que me dices, lo que quiero es que lo descargue y mi idea era ponerle un link al servidor FTP para que pueda ser descargado, pero un link como tal no podría ponerlo porque tengo que estar conectado, supongo que primero tendría que haber iniciado una sesión en el servidor FTP para poder acceder al archivo.

Esa esla cuestión elAntonie, desde dónde realizo la conexión al servidor FTP, desde mi servlet? Se puede? O la JSP la conecto al cliente FTP y éste se conectará al servidor?

Cuando dices:

Cita:
Para devolver el fichero?? el cliente mandara una peticion al servidorWeb, (por ejemplo llama al servlet /tuaplicacion/dameFichero?nombre=mificherodetexto.txt) te conectas al servidor ftp como pepito y recoges el fichero, una vez lo obtienes (en el servidorWeb), lo puedes guardar en una ruta temporal, o con un applet lo guardas en el cliente, o lo muestras directamente estableciendo el mime-type ..., hay varias maneras de hacerlo.
La petición al servidor Web llamando al servlet, es justo ahí donde realizo la conexión con el servidor FTP, pero no veo cómo?

Es con el cliente FTP desde el servlet?

  #8 (permalink)  
Antiguo 23/11/2009, 05:44
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Enviar archivo desde JSP a servidor FTP

Hombre, usarias una clase intermedia, no lo vas a hacer desde el servlet. Pero seria asi si, cuando te hagan la peticion te conectas al servidorFTP, obtienes el fichero (grabas el fichero en una ruta de tu servidorWeb) y cierras la conexion con tu servidorFTP. Ya no lo necesitas

Una vez hecho esto lo guardas en el cliente con un applet, o mediante un link, como dices... Pero ya esta en tu servidorWEB.

Saludos.
  #9 (permalink)  
Antiguo 23/11/2009, 11:03
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Enviar archivo desde JSP a servidor FTP

Bien, gracias por responder. Buscaré algo sobre esa clase intermediaria.

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 08:52.