(det er ikke p.g.a. for få point at jeg ikke har svaret før, men jeg har også
andre ting at lave end svare her)
Jeg kan ike forstå hvorfor det ikke virker.
Jeg lavede lige et simpelt eksempel.
CREATE TABLE blobtest (
ID INTEGER(11),
Picture BLOB
);
import java.io.*;
import java.sql.*;
public class BlobTest {
public static void main(String[] args) throws Exception {
byte[] b = new byte[(int)(new File("C:\\elogo.png")).length()];
InputStream is = new FileInputStream("C:\\elogo.png");
is.read(b);
is.close();
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:
mysql://localhost/Test", "", "");
PreparedStatement ins = con.prepareStatement("INSERT INTO BlobTest VALUES (?,?)");
ins.setInt(1, 123);
ins.setBytes(2, b);
ins.executeUpdate();
PreparedStatement sel = con.prepareStatement("SELECT Picture FROM BlobTest WHERE ID=?");
sel.setInt(1, 123);
ResultSet rs = sel.executeQuery();
rs.next();
byte[] b2 = rs.getBytes(1);
con.close();
OutputStream os = new FileOutputStream("C:\\elogo2.png");
os.write(b2);
os.close();
}
}
og det virker perfekt !
elogo2.png er en perfekt kopi af elogo.png ...