Como inserir imagem no banco de dados usando jsp

23 respostas
G

Oi galerinha, tudo bem?
Estou precisando saber como faço para inserir imagem no banco de dados mysql, já procurei em vários sites e ainda não encontrei nada, se alguem puder me ajudar, ficarei muito grato, preciso fazer isso, pois sou novato no meu serviço e estão me pedindo para fazer isso.

23 Respostas

L

Não precisa necessariamente inserir a imagens no banco.
vc pode simplismente inserir a imagem numa pasta e colocar apenas o caminho até ela no banco de dados.

E
Fala mano.... Lá vai a receita de bolo para fazer o esquema: 1º vc tem que baixar. tem que Baixar no site Apache o jar chamado commons-fileupload que deve ficar dentro do seu Contexto. 2º Criar uma JSP para selecionar a image
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form id="formimagem" name="formimagem" method="post" action="UploadServlet" enctype="multipart/form-data">
	<input type="hidden" id="tipoform" name="tipoform" value="imagem">
	<input name="imagem" type="file" accept="image/jpeg; image/gif; image/bmp; image/png" id="imagem" 
		   class="dados" maxlength="60" tabindex="1" value="c:/" style="position:absolute; top:23px; left:12px;  width:500px; ">
	<br>
	<br>
	<br>
	&lt;input type="submit"&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
3º Criar um Servlet para tratar a imagem e gravar
public class UploadServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   
 	public UploadServlet() {
		super();
	}   
 	
    public void init() throws ServletException {
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
    	String acao = null;
		try {
			if (&quot;1&quot;.equals(acao)){
				doGet(request, response);
			}else{
				String pesquisa = null;
				recuperaimagem(request, response, pesquisa);
			}
			
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		RequestDispatcher dispatcher = request.getRequestDispatcher(&quot;retorno.jsp&quot;); 
			    		  dispatcher.forward(request, response); 
   	
    }
    public void doGet(HttpServletRequest request,
    		          HttpServletResponse response) 
                      throws ServletException, IOException {

        boolean ismultipart = FileUpload.isMultipartContent(request);
        if (ismultipart) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            String formulario = &quot;&quot;;
            try {
                ArrayList items = (ArrayList) upload.parseRequest(request);
                Iterator iter = items.iterator();
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
                    if (item.getFieldName().equals(&quot;tipoform&quot;)) {
                        formulario = item.getString();
                    }
                    if (!item.isFormField()) {
                        if (item.getName().length() &gt 0) {
                            this.inseririmagem(item);
                        }
                    }
                }
            } 
			catch (FileUploadException ex) {
			ex.printStackTrace();
			            } 
			catch (Exception ex) {
			ex.printStackTrace();
			            }
			        }
			}

			
 	private  void inseririmagem(FileItem item) {
		
	 Connection conexao = getConexao();
	 PreparedStatement declaracao = null;

	 String sql = &quot;insert into imgteste (codigo, imagem) values(?, ?)&quot;;
	 try {
		declaracao = conexao.prepareStatement(sql);
		declaracao.setInt(1, 2); // codigo 1
	 	declaracao.setBinaryStream(2, item.getInputStream(),(int) item.getSize() );
		declaracao.executeUpdate();

    	 } catch (Exception ex) {
        		ex.printStackTrace();
    	}finally{
    		try {
    			getClose(conexao);
			} catch (SQLException e) {				
				e.printStackTrace();
			}
    	}
    	
	 }
 	
 	private void recuperaimagem(HttpServletRequest request, HttpServletResponse response, String pesquisa) throws SQLException {
 		Connection conexao = getConexao();
        Statement declaracao = null;
        ResultSet resultado = null;
        StringBuffer sql = new StringBuffer();
        sql.append(&quot;select imagem from imgteste where codigo = &quot; + pesquisa);
        
        try {
            declaracao = conexao.createStatement();
            resultado = declaracao.executeQuery(sql.toString());
            if (resultado.next()) {
		   			InputStream input= resultado.getBinaryStream(&quot;imagem&quot;);
		   			if(input != null){
		   				HttpSession session = request.getSession(); 
		   				session.setAttribute(&quot;image&quot;, resultado.getBinaryStream(&quot;imagem&quot;));
		   				input.close(); 
		   				getClose(conexao);
	   			}
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
 	private void recuperaCombo(HttpServletRequest request, HttpServletResponse response, String pesquisa) 
 				throws SQLException {
 		
 		
 	}

 		private static Connection getConexao(){
 			Connection db = null;
 			String url = &quot;jdbc:postgresql://localhost:5432/Loto&quot;;
 			System.out.println(&quot; Esta é a URL: &quot; + url);
 				try{
 					Class.forName( &quot;org.postgresql.Driver&quot; );
 				}catch ( java.lang.ClassNotFoundException e ){
 					System.err.print( &quot;ClassNotFoundException: &quot; );
 					System.err.println( e.getMessage () );
 				}
 			System.out.println(&quot;Driver do PostgreSQL selecionado. &quot;);

 			try{
 				db = DriverManager.getConnection(url,&quot;?????&quot;,&quot;??????&quot;);
 				
 				System.out.println(&quot;Conexão aberta. &quot;);
 			}catch ( SQLException ex ){
 				System.err.println( &quot;SQLException: &quot; + ex.getMessage() );
 			}
 			
 			return db;
 		}
 	 private static void getClose(Connection con) throws SQLException{
 		 con.close();
 	 }
}
4º Retorno da Imagem Jsp - 1
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Insert title here&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
<img   >
<font>Imagem do Banco de Dados 2 </font> 

&lt;/body&gt;
&lt;/html&gt;
Jsp - 2
&lt;%@ page contentType="image/jpeg; chaoResult=iso-8859-1" %&gt;&lt;%@page import="java.io.InputStream"%&gt;&lt;% 
	InputStream sImage = (InputStream) session.getAttribute("image");
 	session.removeAttribute("image");
 	ServletOutputStream outs = null;
	try{
		outs = response.getOutputStream(); 
		byte[] bytearray = new byte[4096]; 
		int size=0; 
		response.reset(); 
		response.setContentType("image/jpeg"); 
		response.addHeader("Content-Disposition","filename=bd/imagebd.jpg"); 
		response.setHeader ("Pragma", "no-cache"); 
		response.setHeader ("Cache-Control", "no-cache"); 
		response.setDateHeader ("Expires",0); 
		while((size=sImage.read(bytearray))!= -1 ) { 
		outs.write(bytearray,0,size); 
		} 
	}catch(Exception e){ 
		System.out.print(e);		
	}
	outs.flush();	 
	sImage.close();%&gt;

Cara tá aqui a receita de bolo para gravar e recuperar Imagens no BD.
Mesmo sendo um PostGre a unica diferença é que o campo no banco de dadod é Blob.

Qualquer dúvida é só avisar....
Fui. :P

G

Valew Edvaldo pela ajuda…
muito obrigado…
você me quebrou um galhão

desculpa da demora para agradecer esta meio corrido aqui no trampo…

G

velhinho não estou conseguindo inserir a figura no banco sql server 2000.

vou te falar o que fiz no programa:

o nome do jsp criado para selecionar a imagem é cadastrarecisao.jsp; vou postar o codigo aqui!!

<%@ taglib prefix="a" uri="http://jmaki/v1.0/jsp" %>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
   
<html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>P&aacute;gina de Cadastro de Rescis&aacute;o</title>
            <%@include file="\estilo\corpotabela.css"%>
            <script language="JavaScript">
            function validacao(f){
                if(f.campocpf.value==""){
                    alert("Por favor, informe o CPF!");
                    f.campocpf.style.background = "D5D5D5"
                    f.campocpf.focus();                    
                    return false;
                    }
                if(f.camponome.value==""){
                    alert("Por favor, informe o Nome!");
                    f.camponome.style.background = "D5D5D5"
                    f.camponome.focus();
                    return false;
                    }
                if(f.camposexo.value==""){
                    alert("Por favor, informe o Sexo da Pessoa!");
                    f.camposexo.style.background = "D5D5D5"
                    f.camposexo.focus();
                    return false;
                    }
                if(f.camponascimento.value==""){
                    alert("Por favor, informe a Data de Nascimento!");
                    f.camponascimento.style.background = "D5D5D5"
                    f.camponascimento.focus();                    
                    return false;
                    }
                if(f.campoidade.value==""){
                    alert("Por favor, informe a Idade!");
                    f.campoidade.style.background = "D5D5D5"
                    f.campoidade.focus();                    
                    return false;
                    }
                if(f.campoempresa.value==""){
                    alert("Por favor, informe o Nome da Empeesa!");
                    f.campoempresa.style.background = "D5D5D5"
                    f.campoempresa.focus();
                    return false;
                    }
                if(f.camporescisao.value==""){
                    alert("Por favor, informe a data da Rescisão!");
                    f.camporescisao.style.background = "D5D5D5"
                    f.camporescisao.focus();
                    return false;
                    }
                if(f.campodispensa.value==""){
                    alert("Por favor, informe o motivo da dispensa!");
                    f.campodispensa.style.background = "D5D5D5"
                    f.campodispensa.focus();
                    return false;
                    }
                if(f.campoimagem.value==""){
                    alert("Por favor, informe a Rescisão!");
                    f.campoimagem.style.background = "D5D5D5"
                    f.campoimagem.focus();
                    return false;
                    }
                    return true;
            }
        </script>
    </head>
    <body>
        <% 
        String statuscadastro=request.getParameter("statusCadastro");
        %>
        <table width="70%"  border="0" align="center" class="cor_tabela">
            <tr>
                <td class="letra"><div align="center">Topo do Site </div></td>
            </tr>
        </table>
        <form name="cadastro" action="/gestaosindicato/UploadServlet" method="post" onsubmit="return validacao(this)">
            <table width="70%"  border="0" align="center" cellpadding="3" cellspacing="1" class="cor_tabela">
              <tr>
                <td class="letra"><div align="right">* CPF:</div></td>
                <td><input name="campocpf" type="text" class="letra" size="30" >
                    <input type="button" value="..."  onclick="validausuario();"></td>
              </tr>
              <tr>
                <td width="40%" class="letra"><div align="right">* Nome:</div></td>
                <td width="60%"><input name="camponome"  type="text" class="letra" size="50"></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Sexo:</div></td>
                <td><select name="camposexo" class="letra">
                        <option value="" selected>Selecione o Estado Civil</option>
                        <option value="masculino">Masculino</option>
                        <option value="feminino">Feminino</option>
                    </select></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Data de Nascimento:</div></td>
                <td><input name="camponascimento" type="text" class="letra" size="30"></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Idade:</div></td>
                <td><select name="campoidade" class="letra">
                        <option value="" selected>Selecione a Idade</option>
                        <option value="17">17</option>
                        <option value="18">18</option>
                        <option value="19">19</option>
                        <option value="20">20</option>
                        <option value="21">21</option>
                        <option value="22">22</option>
                        <option value="23">23</option>
                        <option value="24">24</option>
                        <option value="25">25</option>
                        <option value="26">26</option>
                        <option value="27">27</option>
                        <option value="28">28</option>
                        <option value="29">29</option>
                        <option value="30">30</option>
                        <option value="31">31</option>
                        <option value="32">32</option>
                        <option value="33">33</option>
                        <option value="34">34</option>
                        <option value="35">35</option>
                        <option value="36">36</option>
                        <option value="37">37</option>
                        <option value="38">38</option>
                        <option value="39">39</option>
                        <option value="40">40</option>
                        <option value="41">41</option>
                        <option value="42">42</option>
                        <option value="43">43</option>
                        <option value="44">44</option>
                        <option value="45">45</option>
                        <option value="46">46</option>
                        <option value="47">47</option>
                        <option value="48">48</option>
                        <option value="49">49</option>
                        <option value="50">50</option>
                        <option value="51">51</option>
                        <option value="52">52</option>
                        <option value="53">53</option>
                        <option value="54">54</option>
                        <option value="55">55</option>
                        <option value="56">56</option>
                        <option value="57">57</option>
                        <option value="58">58</option>
                        <option value="59">59</option>
                        <option value="60">60</option>
                        <option value="61">61</option>
                        <option value="62">62</option>
                        <option value="63">63</option>
                        <option value="64">64</option>
                        <option value="65">65</option>
                        <option value="66">66</option>
                        <option value="67">67</option>
                        <option value="68">68</option>
                        <option value="69">69</option>
                        <option value="70">70</option>
                    </select></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Empresa:</div></td>
                <td><input name="campoempresa" type="text" class="letra" size="30"></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Data da Rescis&atilde;o:</div></td>
                <td><input name="camporescisao" type="text" class="letra" size="30"></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Tipo da Dispensa:</div></td>
                <td><select name="campodispensa" class="letra">
                        <option value="" selected>Selecione o tipo da Dispensa</option>
                        <option value="Dispensa por Justa Causa">Dispensa por Justa Causa</option>
                        <option value="Dispensa por Justa Causa">Dispensa por Justa Causa</option>
                        <option value="Pedido de Dispensa">Pedido de Dispensa</option>
                    </select></td>
              </tr>
              <tr>
                <td class="letra"><div align="right">* Rescis&atilde;o:</div></td>
                <td><input type="file" name="campoimagem" value="" width="50" accept="image/jpeg; image/gif; image/bmp; image/png" id="imagem"/></td>
              </tr>
              <tr>
                <td colspan="2"><div align="center">
                   <input type="submit" class="letra" value="Cadastrar" >
                  <input type="reset" class="letra" value="Limpar">
                </div></td>
              </tr>
            </table>
        </form>
            Status da solicitação: <input type="text" name="campostatus" size="30" value="<%=(statuscadastro==null)?"":statuscadastro%>"disabled style="border:0"/>
<table width="70%"  border="0" align="center">
  <tr>
    <td class="letra"><div align="right">Obs: (*) Todos os campos s&atilde;o obrigat&oacute;rios</div></td>
  </tr>
</table>    
    </body>
</html>

nome do servlet para tratar e gravar a imagem “UploadServlet.java”; obs: fiz algumas alterações no servlet “UploadServlet.java” que esta marcado no código postado

import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.omg.CORBA_2_3.portable.InputStream;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {   
   static final long serialVersionUID = 1L;   

    public UploadServlet() {   
        super();   
    }     

    public void init() throws ServletException {   
    }   

    public void doPost(HttpServletRequest request, HttpServletResponse response)   
    throws ServletException, IOException {   
        String acao = null;   
        try {   
            if ("1".equals(acao)){   
                doGet(request, response);   
            }else{   
                String pesquisa = null;   
                recuperaimagem(request, response, pesquisa);   
            }   

        } catch (SQLException e) {   
            e.printStackTrace();   
        }   
        RequestDispatcher dispatcher = request.getRequestDispatcher("retorno.jsp");   
                          dispatcher.forward(request, response);   

    }   
    public void doGet(HttpServletRequest request,   
                      HttpServletResponse response)   
                      throws ServletException, IOException {   

        boolean ismultipart = FileUpload.isMultipartContent(request);   
        if (ismultipart) {   
            FileItemFactory factory = new DiskFileItemFactory();   
            ServletFileUpload upload = new ServletFileUpload(factory);   
            String formulario = "";   
            try {   
                ArrayList items = (ArrayList) upload.parseRequest(request);   
                Iterator iter = items.iterator();   
                while (iter.hasNext()) {   
                    FileItem item = (FileItem) iter.next();   
                    if (item.getFieldName().equals("tipoform")) {   
                        formulario = item.getString();   
                    }   
                    if (!item.isFormField()) {   
                        if (item.getName().length() > 0) {   
                            this.inseririmagem(item);   
                        }   
                    }   
                }   
            }   
            catch (FileUploadException ex) {   
            ex.printStackTrace();   
                        }   
            catch (Exception ex) {   
            ex.printStackTrace();   
                        }   
                    }   
            }   

    private  void inseririmagem(FileItem item) {   

     Connection conexao = getConexao();   
     PreparedStatement declaracao = null;   
//mudei o nome da tabela para recisao e o nome do campo para img_recisao
     String sql = "insert into recisao (img_recisao) values(?, ?)";   
     try {   
        declaracao = conexao.prepareStatement(sql);   
        declaracao.setInt(1, 2); // codigo 1   
        declaracao.setBinaryStream(2, item.getInputStream(),(int) item.getSize() );   
        declaracao.executeUpdate();   
  
         } catch (Exception ex) {   
                ex.printStackTrace();   
        }finally{   
            try {   
                getClose(conexao);   
            } catch (SQLException e) {                 
                e.printStackTrace();   
            }   
        }   

     }   

    private void recuperaimagem(HttpServletRequest request, HttpServletResponse response, String pesquisa) throws SQLException {   
        Connection conexao = getConexao();   
        Statement declaracao = null;   
        ResultSet resultado = null;   
        StringBuffer sql = new StringBuffer();   
        sql.append("select img_recisao from recisao where codigo = " + pesquisa);   

        try {   
            declaracao = conexao.createStatement();   
            resultado = declaracao.executeQuery(sql.toString());   
            if (resultado.next()) {   
//mudei a variavel de imagem para campoimagem  obs: o que seria essa variavel imagem
                    InputStream input= (InputStream) resultado.getBinaryStream("campoimagem");
                    if(input != null){   
                        HttpSession session = request.getSession();   
//mudei a variavel de imagem para campoimagem  obs: o que seria essa variavel imagem
                        session.setAttribute("image", resultado.getBinaryStream("campoimagem"));   
                        input.close();   
                        getClose(conexao);   
                }   
            }   
        } catch (SQLException ex) {   
            ex.printStackTrace();   
        } catch (Exception ex) {   
            ex.printStackTrace();   
        }   
    }   
    private void recuperaCombo(HttpServletRequest request, HttpServletResponse response, String pesquisa)   
                throws SQLException {   

    }   
  
        private static Connection getConexao(){   
            Connection db = null;   
//mudei o caminho do banco para o do sql server 2000
            String url = "jdbc:microsoft:sqlserver://localhost:1433;databaseName=bd_gestao_sindicato;";   
            System.out.println(" Esta é a URL: " + url);   
                try{   
                    Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );   //mudei o driver do BD
                }catch ( java.lang.ClassNotFoundException e ){   
                    System.err.print( "ClassNotFoundException: " );   
                    System.err.println( e.getMessage () );   
                }   

            try{   
//mudei a senha
                db = DriverManager.getConnection(url,"sa","master");   
                   
                System.out.println("Conexão aberta. ");   
            }catch ( SQLException ex ){   
                System.err.println( "SQLException: " + ex.getMessage() );   
            }   
               
            return db;   
        }   
     private static void getClose(Connection con) throws SQLException{   
         con.close();   
     }   
}

no retorno da imagem. para que serve o jsp1?

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   
<html>   
<head>   
<title>Insert title here</title>   
</head>   
<body>   
<img   >   
<font>Imagem do Banco de Dados 2 </font>   
  
</body>   
</html>

ja no jsp2 eu copiei e colei.

ai a hora que eu executo o programa ele não da nenhum erro, mas não insere nada no banco e nem mostra nada na tela… a unica coisa que mostra na tela é o erro de imagem…

P

Brother, não sei como que você esta fazendo essa aplicaçao. provavelmente deve ser web! a maneiras melhores de fazer isso! do q gravar uma imagem no banco, como o colega falou, grave as imagens que voce precisa em uma pasta, ai quando vc precisar delas , eh soh vc chamar ela para mostrar, ai jah eh html! vc chama a imagem pela tag c vc n colocar um C: antes do caminho ou nao colocar um http ele vai procurar a imagem d acordo com a raiz da sua aplicação!

P

acho que entendi sua questão de uma forma errada! vc quer fazer um jsp que recebe uma imagem pelo usuario e a grava em um banco! Nao precisar ser em um banco! pesquisa como sobre o FormFile do struts, acho q eh por ae que vc vai conseguir resolver esse problema seu!

D

edvaldo.santiago:
Fala mano…
Lá vai a receita de bolo para fazer o esquema:

Está dando erro nestas linhas (palavras em negrito):

String formulario= ""; // a variável formulario não é usada try { ArrayList items = (ArrayList) upload.parseRequest(request); // cannot find symbol, symbol: class ArrayList Iterator iter = items.iterator(); // cannot find symbol, symbol: class Iterator while (iter.hasNext()) { // cannot find symbol, symbol: method hasNext, location: Iterator FileItem item = (FileItem) iter.next();

P

Eu pensaria nessa alternativa com cuidado.

Imagem no Banco de Bados tem vantagens e desvantagens.

Recomendo um bom tunning no MySQL e na sua arquitetura de aplicação para suportar imagens, bem como algum mecanismo de limitação de tamanho (caso alguem tente colocar 1GB por exemplo). Pense no uso de Cache para imagens.

D

dark123:
edvaldo.santiago:
Fala mano…
Lá vai a receita de bolo para fazer o esquema:

Está dando erro nestas linhas (palavras em negrito):

String formulario= ""; // a variável formulario não é usada try { ArrayList items = (ArrayList) upload.parseRequest(request); // cannot find symbol, symbol: class ArrayList Iterator iter = items.iterator(); // cannot find symbol, symbol: class Iterator while (iter.hasNext()) { // cannot find symbol, symbol: method hasNext, location: Iterator FileItem item = (FileItem) iter.next();

Alguém poderia me ajudar aqui?

[]s

P

provavelmente vc tem que fazer o import dessas classes

import java.util.*;

e por ai vai…

D

Já resolvi aqui, mas estou com o mesmo problema que o Gu, dá erro ao processar os dados.

Mudei o método de envio para get, e vi que está enviando normalmente.

O problema está em encontrar o servlet.
Não criei nenhum pacote pra ele, mas o servlet não é encontrado, ou então possui algum erro de requisição. oO

D

Alguém por favor poderia resolver este tópico, pois não encontramos nenhum tópico que mostrasse todos os passos como este.

No nosso caso, o UploadServlet.java não é processado corretamente,
retornando um HTTP Status 404

Obrigado.

E

Boa tarde pessoal,
Estava fora esses dias estou retornando agora.
Cara a “Receita de Bolo” funciona sim… sem problemas.
Por favor mande o erro que eu possa resolver… ou melhor…
pode mandar o seu exemplo para verificar. :slight_smile:

E

Galera,
Vc´s não estão usando <form id=“formimagem” name=“formimagem” method=“post” action=“UploadServlet” [color=red]enctype=“multipart/form-data”[/color]>
Por isso está dando pau na Iterator.
Qualquer dúvida é só mandar.

L

edvaldo.santiago:
Galera,
Vc´s não estão usando <form id=“formimagem” name=“formimagem” method=“post” action=“UploadServlet” [color=red]enctype=“multipart/form-data”[/color]>
Por isso está dando pau na Iterator.
Qualquer dúvida é só mandar.

Preciso muito da sua ajuda. Peguei o exemplo citado e só realizei uma alteração com relação a conexão

private static Connection getConexao(){   
        Connection db = null;   
        String url = "jdbc:mysql://localhost/UploadImagem";   
        System.out.println(" Esta é a URL: " + url);   
            try{   
                Class.forName( "com.mysql.jdbc.Driver" );   
            }catch ( java.lang.ClassNotFoundException e ){   
                System.err.print( "ClassNotFoundException: " );   
                System.err.println( e.getMessage () );   
            }   
        System.out.println("Driver do MYSQL selecionado. ");   

        try{   
            db = DriverManager.getConnection(url, "root", "superSenha");   
               
            System.out.println("Conexão aberta. ");   
        }catch ( SQLException ex ){   
            System.err.println( "SQLException: " + ex.getMessage() );   
        }   
           
        return db;   
    }

E não esta realizando o UPLOAD para o banco e por essa razão não carrega na página que exibe a img pois não tem nada no banco
Agradeço desde ja sua ajuda
Luciano

E

Fala Luciano,
Cara preciso de um tempinho… para achar um exemplo que tenho aí eu mando pronto para vc.

Vlw :smiley:

L

edvaldo.santiago:
Fala Luciano,
Cara preciso de um tempinho… para achar um exemplo que tenho aí eu mando pronto para vc.

Vlw :D

Agradeço sua atenção, pois este é um ponto importante para que possa finalizar uma aplicação que estou fazendo. Não consegui nenhum exemplo adequado ou explicação coerente. A melhor foi a que postou, entretanto, não sei por qual motivo ela não fez o upload.
Novamente volto a agradecer sua atenção
vlw

E

Fala Luciano,
Vc chegou a fazer passo a passo as instruções?
Vc tb fez o download do commons-fileupload-xxx.jar
Estou montando um exemplo do começo ao fim, só preciso saber qual é banco de dados vc está usando?

Valeu.

L

Olá Edvaldo.

Sim fiz passo a passo do exemplo que está publicado.
Neste momento estou usando MySQL e posteriormente também vou usar ORACLE
Agradeço sua atenção com relação a este assunto.
Em relação ao Jar… sim esta tudo certo neste ponto.
Atenciosamente
Luciano

edvaldo.santiago:
Fala Luciano,
Vc chegou a fazer passo a passo as instruções?
Vc tb fez o download do commons-fileupload-xxx.jar
Estou montando um exemplo do começo ao fim, só preciso saber qual é banco de dados vc está usando?

Valeu.

E

Luciano,
rolou o exemplo?
:stuck_out_tongue:

L

edvaldo.santiago:
Luciano,
rolou o exemplo?
:stuck_out_tongue:

Olá Edvaldo. O exemplo que foi publicado no site não rolou, fiz ele passo a passo como esta citado.
Ele não realiza o INSERT no Banco de Dados, e não apresenta nenhuma msg de erro.
Fiz todos os imports necessários e a alteração que realizei foi a conexão com o Banco onde
coloquei as minhas configurações.
Você enviou outro exemplo? Pois não aparece na página. Caso possa auxiliar neste ponto ficarei muito grato.
Na verdade ja agradeço o fato de estar disponibilizando um tempo para responder as perguntas
postadas no fórum.

L

Olá Edvaldo

Ainda estou com o problema de inserir imagem e recuperar. Não consegui fazer o esquema para banco de dados.
Será que poderia dar uma força?
Agradeço sua atenção!

E

Luciano,
Mandei para seu e-mail o exemplo

Obrigado.

Criado 5 de setembro de 2007
Ultima resposta 11 de jun. de 2010
Respostas 23
Participantes 7