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

¿Como crear un upload de archivos al servidor?

Estas en el tema de ¿Como crear un upload de archivos al servidor? en el foro de Java en Foros del Web. Hola como están, mi problema consiste en que estoy generando un programa en java que me permita colocar un archivo en una carpeta del lado ...
  #1 (permalink)  
Antiguo 24/11/2006, 08:18
Avatar de Derman  
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta ¿Como crear un upload de archivos al servidor?

Hola como están, mi problema consiste en que estoy generando un programa en java que me permita colocar un archivo en una carpeta del lado del servidor si alguien tiene la solución a este problema le agradecería de verdad mucho por que no le encuentro una manera para hacerlo
  #2 (permalink)  
Antiguo 26/11/2006, 09:49
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
http://club.idecnet.com/~ccastano/femepa/120106.htm

http://club.idecnet.com/~ccastano/femepa/130106.htm
  #3 (permalink)  
Antiguo 29/11/2006, 11:15
Avatar de Derman  
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 17 años, 8 meses
Puntos: 0
ok gracias muchas gracias dogduck los probare, mira si no es mucho pedir tengo otro problema ademas de subri la informacion a un archivo debo guardar unos datos de esta en la base de datos (su ubicacion "link" y el nombre del archivo) estos ya los tomo de un formulario que e creado, como hago que el servlet me guarde estos datos???
  #4 (permalink)  
Antiguo 29/11/2006, 11:32
Avatar de dogduck  
Fecha de Ingreso: enero-2006
Ubicación: ¿Atlantida, Hesperides, Islas afortunadas?
Mensajes: 2.231
Antigüedad: 18 años, 3 meses
Puntos: 19
Deberás sobreescribir el método doPost() de el servlet para que al recibir la información de el formulario, conecte con una bbdd y ejecute una sentencia sql de actualización de una/s tabla/s
por ejemplo: http://club.idecnet.com/~ccastano/femepa/141205.htm
Código:
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class ServletJDBC extends HttpServlet {
   // Declaración de variables miembro correspondientes a
   // los campos del formulario
    private String nombre=null;
    private String apellidos=null;
    private String opinion=null;
    private String comentarios=null;
    public Connection con = null;
    
// Este método se ejecuta una única vez (al ser inicializado el servlet)
// Se suelen inicializar variables y realizar operaciones costosas en
// tiempo de ejecución (abrir ficheros, bases de datos, etc)
    public void init(ServletConfig config) throws ServletException {

        super.init(config);
        System.out.println("Iniciando ServletJDBC...");
        //Definimos donde está la BBDD
        String url = "jdbc:mysql://localhost/opinion";
       
        //cargamos el driver
        try{
            Class.forName("com.mysql.jdbc.Driver");
        }catch(Exception e){}
        //Establecemos la conexion
        try{
            con = DriverManager.getConnection(url,"root","mysql");
        }catch(SQLException ex){}

    } // fin del método init()
// Este método es llamado por el servidor web al "apagarse" (al hacer
// shutdown). Sirve para proporcionar una correcta desconexión de una
// base de datos, cerrar ficheros abiertos, etc.
    public void destroy() {
        System.out.println("No hay nada que hacer...");
        //cerramos la BBDD
        try{
            
            con.close();
        }
        catch(SQLException ex){}
    }// fin del método destroy()
    
// Método llamado mediante un HTTP POST. Este método se llama
// automáticamente al ejecutar un formulario HTML
    public void doPost(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
        
        nombre=req.getParameter("nombre");
        apellidos=req.getParameter("apellidos");
        opinion=req.getParameter("opinion");
        comentarios=req.getParameter("comentarios");
        //Escribimos el registro en la BBDD
        Statement stmt=null;
        String createString = "insert into opiniones values ("+"'"+nombre+"'"+","+"'"+apellidos+"'"+","+
                              "'"+opinion+"'"+","+"'"+comentarios+"')";
        try{
       //Creamos el ststement
            stmt = con.createStatement();
            //Ejecuta una actualización: crear tablas , insertar , delete ,...
            stmt.executeUpdate(createString);
            stmt.close();
            
            // stmt.executeQuery() : consultas (select)
        } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }


        
        devolverPaginaHTML(resp);
    } // fin del método doPost()
    
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
// A
        resp.setContentType("text/html");
         PrintWriter out = null;
        try {
            out=resp.getWriter();
        } catch (IOException io) {
            System.out.println("Se ha producido una excepcion");
        }
         out.println("<html>");
        out.println("<head>");
        out.println("<title>Envíe su opinión</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<H2>Por favor, envíenos su opinión acerca de este sitio web</H2>");
        out.println("<FORM  METHOD='POST' style='background-color: #800080'>"+
                    "<font color='#FFFFFF'>Nombre: <INPUT TYPE='TEXT' NAME='nombre' SIZE=15><BR>"+
                    "Apellidos: <INPUT TYPE='TEXT' NAME='apellidos' SIZE=30></font><P>"+
                    "<font color='#FFFFFF'>Opinión que le ha merecido este sitio web<BR>"+
                    "<INPUT TYPE='RADIO' CHECKED NAME='opinion' VALUE='Buena'>Buena<BR>"+
                    "<INPUT TYPE='RADIO' NAME='opinion' VALUE='Regular'>Regular<BR>"+
                    "<INPUT TYPE='RADIO' NAME='opinion' VALUE='Mala'>Mala</font><P>"+
                    "<font color='#FFFFFF'>Comentarios <BR>"+
                    "<TEXTAREA NAME='comentarios' ROWS=6 COLS=40>"+
                    "</TEXTAREA></font><P>"+
                    "<font color='#FFFFFF'>"+
                    "<INPUT TYPE='SUBMIT' NAME='botonEnviar' VALUE='Enviar'>"+
                    "<INPUT TYPE='RESET' NAME='botonLimpiar' VALUE='Limpiar'> </font>"+
                    "</FORM>"+
                    "</BODY>"+
                    "</HTML>"
                    );
       
// Se fuerza la descarga del buffer y se cierra el PrintWriter,
// liberando recursos de esta forma. IMPORTANTE
        out.flush();
        out.close();
        
        devolverPaginaHTML(resp);
    } // fin del método doPost()
    public void devolverPaginaHTML(HttpServletResponse resp) {
// En primer lugar se establece el tipo de contenido MIME de la respuesta
        resp.setContentType("text/html");

// Se obtiene un PrintWriter donde escribir (sólo para mandar texto)
        PrintWriter out = null;
        try {
            out=resp.getWriter();
        } catch (IOException io) {
            System.out.println("Se ha producido una excepcion");
        }
// Se genera el contenido de la página HTML
        
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Valores recogidos en el formulario</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<b><font size=+2>Valores recogidos del ");
        out.println("formulario: </font></b>");
        out.println("<p><font size=+1><b>Nombre: </b>"+nombre+"</font>");
        out.println("<br><fontsize=+1><b>Apellido: </b>"
                +apellidos+"</font><b><font size=+1></font></b>");
        out.println("<p><font size=+1> <b>Opini&oacute;n: </b><i>" + opinion +
                "</i></font>");
        out.println("<br><font size=+1><b>Comentarios: </b>" + comentarios.toUpperCase()
                +"</font>");
        out.println("<br><b>Registro insertado en la BBDD MySQL:opinion</b>");
        
        out.println("</body>");
        out.println("</html>");
// Se fuerza la descarga del buffer y se cierra el PrintWriter,
// liberando recursos de esta forma. IMPORTANTE
        out.flush();
        out.close();
    } // fin de devolverPaginaHTML()
// Función que permite al servidor web obtener una pequeña descripción del
// servlet, qué cometido tiene, nombre del autor, comentarios
// adicionales, etc.
    public String getServletInfo() {
        return "Este servlet lee los datos de un formulario" +
                " y los muestra en pantalla";
    } // fin del método getServletInfo()
}
  #5 (permalink)  
Antiguo 30/11/2006, 12:53
Avatar de Derman  
Fecha de Ingreso: agosto-2006
Mensajes: 10
Antigüedad: 17 años, 8 meses
Puntos: 0
Gracias esta muy bueno ese ejemplo pero creo que no me explique bien perdon, lo que quiero es ya tengo un formulario donde meto unos datos y escojo el archivo a subir luego cuando preciono el boton este lo envia al servlet pero ya aqui no me funciona pro que como la informacion de los campos texto bienen junta con los multipart del archivo no puedo guardar el archivo ni la informacion, te agradesco lo que me has pasado todo me ha funcionado pero esto ultimo es lo que me falta y no le hayo lado
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 20:08.