[quote=MarcioJAVA]Cara mais uma coisa, na foto vai dar erro… vc tá tentando gravar uma String. Ele vai gravar… mas não a foto.
vc vai ter que fazer o seguinte:
Suponhamos que vc armazenava a foto num objeto Image, com nome img:
Image img;
quando for armazenar, use o lance do ByteArrayOutputStram e DataOutputStram e writeObject
quando for ler use o ByteArrayInputStram e DatainputStram e readObject
esse readObject recebo o getBytes, e monta um objeto
faça un casting para o Image…
mais ou menos assim:
ByteArrayInputStream bais = new ByteArrayInputStream();
DataInputStream dis = new DataInputStream(bais);
Object o = dis.readObject(rs.getBytes());
img = (Image) o;
[/quote]
Deixa eu ver se entendi Marcio. vc que dizer que a forma como estou armazenando a imagem de forma incorreta?
No caso teria que ficar dessa forma:
[code]# <%
try{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con2 = DriverManager.getConnection(“jdbc:mysql://localhost/master”,“root”,“senha”);
String sql2 = “update produtos set foto = ? where codigo_barra_produto = '”+request.getParameter(“codigoField”)+"’";
PreparedStatement st2 = con2.prepareStatement(sql2);
//st.setString(1, request.getAttribute(“comentario”));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream oos = new DataOutputStream(baos);
oos.writeObject(“uploadfile”);
st2.setBytes(1, baos.toByteArray());
//out.println(st);
st2.executeUpdate();
}catch(Exception ex){
out.println(“Houve uma excessão ao inserir no banco” + ex);
}
%> [/code]
e para fazer o retorno da imagem uso esse codigo:
ByteArrayInputStream bais = new ByteArrayInputStream();
DataInputStream dis = new DataInputStream(bais);
Object o = dis.readObject(rs.getBytes());
img = (Image) o;
e para fazer com que a imagem seja exibida na como é que especifico?
seria dessa forma?
<%=rs.getBytes(img)%>
agradeço a atenção!