[quote=MarcioJAVA]Fala Wanderley
Seguinte, pra gravar no banco usa um ByteArrayOutputStream…
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(j.getFoto());
stm.setBytes(5, baos.toByteArray());
isso aqui foi um trecho de um programa que fiz… foi projeto Desktop, não web, mas gravava a foto no banco.
vc vai literalmente serializar o objeto que tem a imagem no banco… no caso o
Outra dica… use o poder o PreparedStatement, com os caracteres coringa (pesquise sobre isso…
deve ficar mais ou menos assim…
String sql = "insert into foto(comentario, foto)values(?,?)";
PreparedStatement st = con.prepareStatement(sql);
sm.setString(1, request.getParameter("todo"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(file);
st.setBytes(2, baos.toByteArray());
st.executeUpdate(sql);
Grande Abraço[/quote]
Olá Marcio, primeiramente quero agradecer por se prontificar a ajudar.
tentei fazer o codigo no qual vc havia orientado a fazer, ele ficou assim:
[code]<%
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(“uploadfile”);
Class.forName(“com.mysql.jdbc.Driver”);
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost/master”,“root”,“m2bm37vvc4”);
String sql = “insert into foto(comentario, foto)values(?,?)”;
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, request.getParameter(“todo”));
st.setBytes(2, baos.toByteArray());
st.executeUpdate();
}catch(Exception ex){
out.println(“Houve uma excessão ao inserir no banco” + ex);
}
%>
Foto inserida com sucesso no banco de dados!
[/code]
mais na hora de inserir os dados gera uma excessão: Houve uma excessão ao inserir no bancocom.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column ‘comentario’ cannot be null .
como posso corrigir isso?