Upload de imagens

Olá galera, estou tentando fazer o apload de uma imagem para o meu servidor, ja vi inúmras explicações e até alguns exemplos porém nenhum executou direito, se alguem souber como posso fazer isso vou agradecer, tenho um projeto para entregar na sexta até o fim da tarde e só falta essa parte se alguem poder dar essa força vou ficar muito grato! valew!

Tem vários modos de se fazer isso, se você usa um framework tipo struts já tem pronto pra você usar, aí é só decidir onde gravar sua imagem.

Diga os erros davam nos exemplos que você testou, é mais fácil para ajudar você.

flw

tem uma lib da apache chamada commons-fileupload
serve para fazer upload de arquivos, pode baixar do seite do grupo apache
tem tutoriais que ensinam a usar os seus recursos tb
é fácil de implementar
vlww

Opa galera valew a ajuda, eu ja tentei utilizar o commons-fileupload porém sem sucesso, eu achei um tutorial no devMedia que utiliza ele só que está muito mal feito pq está faltando um monte de importações, um erro muito comum que está acontecendo é o NoClassDefFoundError que pelo que pesquisei é quando o class path não está sendo encontrado porem ele ta certinhow! vou continuar aqui na peleja heheh qualquer luz aê ta valendo!! abraços

Vou postar como estou fazedo:
crio uma página para enviar e armazenar os dados

<html>
<%@ page language="java" import="javazoom.upload.*,java.util.*" %>
<%@ page errorPage="" %>
<%@ page import="java.sql.*"%>
<%@ include file="../../Connections/conecta.jsp" %>
<%@ include file="../../jsp/conexao.jsp"%>
<jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
  <jsp:setProperty name="upBean" property="folderstore" value="C:\Documents and Settings\Administrador\Meus documentos\NetBeansProjects\Teste de banco de dados\web\imagens\produtos" />
</jsp:useBean>
<head>
<title>Samples : Simple Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
a:link {text-decoration: none;}
a:visited {text-decoration: none;}
a:hover {text-decoration: underline;}
.Azul11 {font-family: Verdana;font-size: 11px;color: #000033;}
.Vermelho11 {font-family: Verdana;font-size: 11px;color: #FF0000;}
.Verde11 {font-family: Verdana;font-size: 11px;color: #009900;}
.Azul14 {font-family: Verdana;font-size: 14px;color: #000033;}
input {font-family: Verdana;font-size: 11px;color: #000066;border: 1px solid #003366; background-color:#FFFFFF}
textarea {font-family: Verdana;font-size: 11px;color: #000066;border: 1px solid #003366; background-color:#FFFFFF}
a {font-family: Verdana;font-size: 11px;color: #000066;}
select {font-family: Verdana;font-size: 11px;color: #000066;border: 1px solid #003366; background-color:#FFFFFF}
table {font-family: Verdana;font-size: 11px;color: #000033;}
</style>
</head>
<body>
<span class="Azul11">
<%
    Statement st;
    String sql;
    
String imagem = "";// Criei uma String sem nada.   
  
           
      if (MultipartFormDataRequest.isMultipartFormData(request))   
      {   
           
         MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);   
         String todo = null;   
         if (mrequest != null) todo = mrequest.getParameter("todo");   
         if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )   
         {   
                Hashtable files = mrequest.getFiles();   
                if ( (files != null) && (!files.isEmpty()) )   
                {   
                    UploadFile file = (UploadFile) files.get("tf_imagem");   
                    if (file != null)   
                        upBean.store(mrequest, "tf_imagem");   
                        imagem = file.getFileName();// Pego o nome do arquivo   
                    //out.println("<script>alert('NOME DO ARQUIVO: "+file.getFileName()+"   TAMANHO DO ARQUIVO: "+file.getFileSize()+"     TIPO DO ARQUIVO: "+file.getContentType()+"');</script>");   
                }   
                else   
                {   
                     out.println("<li>No uploaded files");   
                }   
          }   
            else out.println("<BR> todo="+todo);   
          }

        st = con.createStatement();
        sql ="update produto set des_imagem ='"+imagem+"'";
        st.executeUpdate(sql);
        st.close();
%>
</span>
<form method="post" action="SimpleUpload.jsp" name="upform" enctype="multipart/form-data">
  <table width="100%" border="0" cellspacing="1" cellpadding="1">
    <tr>
      <td><b>Selecione o arquivo  :</b></td>
    </tr>
    <tr>
      <td>
        <input type="file" name="uploadfile" size="30">
      </td>
    </tr>
    <tr>
      <td>
        <input type="hidden" name="todo" value="upload">
        <input type="submit" name="Submit" value="Upload">
        <input type="reset" name="Reset" value="Cancelar">
      </td>
    </tr>
  </table>
</form>
</body>
</html>

o erro que aparece nela e javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/oreilly/servlet/multipart/MultipartParser

Eduaro, tu tem que procurar o jar da oreily que contem essas classes e colocar no teu classpth.

Da uma olhada nesse link: http://www.java2s.com/Code/Jar/Spring-Related/Downloadcosjar.htm

lokidarkeden era exatamente isso, só que agora eu cai em outro X da questão ele está enviando um NullPointerException bom, esse erro é pq eu estou mandando algo nulo isso acho que ja é mais fácil pra mim resolver, galera valew o esforço e o tempo de vcs!

lokidarkeden, marcosharbs, dudaskank , muito obrigado pela ajuda! consegui fazer o upload e salvar no bd, Deus abençoe vcs galera, tô colocando o código resolvido aê valew!

<html>
<%@ page language="java" import="javazoom.upload.*,java.util.*" %>
<%@ page errorPage="" %>
<%@ page import="java.sql.*"%>

//aqui onde monto a conexao com o bd
<%@ include file="../../Connections/conecta.jsp" %>
<%@ include file="../../jsp/conexao.jsp"%>

//no value do bean eu passo onde quero salvar o arquivo dentro da minha aplicação
<jsp:useBean id="upBean" scope="page" class="javazoom.upload.UploadBean" >
  <jsp:setProperty name="upBean" property="folderstore" value="C:\Documents and Settings\Administrador\Meus documentos\NetBeansProjects\Teste de banco de dados\web\imagens\produtos" />
</jsp:useBean>
<head>
<title>Samples : Simple Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<span class="Azul11">
<%
    Statement st;
    String sql;
    
String imagem = "";// Criei uma String sem nada.   
  
           
      if (MultipartFormDataRequest.isMultipartFormData(request))   
      {   
           
         MultipartFormDataRequest mrequest = new MultipartFormDataRequest(request);   
         String todo = null;   
         if (mrequest != null) todo = mrequest.getParameter("todo");   
         if ( (todo != null) && (todo.equalsIgnoreCase("upload")) )   
         {   
                Hashtable files = mrequest.getFiles();   
                if ( (files != null) && (!files.isEmpty()) )   
                {   
                    UploadFile file = (UploadFile) files.get("uploadfile");  //no código passado eu tinha esquecido de mudar o nome do meu file  
                    if (file != null)   
                        upBean.store(mrequest, "uploadfile");   
                        imagem = file.getFileName();// Pego o nome do arquivo   
                }   
                else   
                {   
                     out.println("<li>No uploaded files");   
                }   
          }   
            else out.println("<BR> todo="+todo);
                //aqui eu coloco no bd
                st = con.createStatement();
                sql ="update produto set des_imagem ='"+imagem+"'";
                st.executeUpdate(sql);
                st.close();           
          }


%>
</span>
<form method="post" action="SimpleUpload.jsp" name="upform" enctype="multipart/form-data">
  <table width="100%" border="0" cellspacing="1" cellpadding="1">
    <tr>
      <td><b>Selecione o arquivo  :</b></td>
    </tr>
    <tr>
      <td>
        <input type="file" name="uploadfile" size="30">
      </td>
    </tr>
    <tr>
      <td>
        <input type="hidden" name="todo" value="upload">
        <input type="submit" name="Submit" value="Upload">
        <input type="reset" name="Reset" value="Cancelar">
      </td>
    </tr>
  </table>
</form>
</body>
</html>