Thanks to you both
This works for me Thomas. For completeness, here is the setter again
with a couple of fixes:
stmt.setBinaryStream(2,in,in.available());
or optionally (if it is a file):
stmt.setBinaryStream(2,in,blobFile.length());
Thomas Kellerer wrote:
> Brad Milne, 07.04.2009 16:04:
>> So how do you save the bytea data? I get:
>> Method
>> org.postgresql.jdbc4.Jdbc4PreparedStatement.setBinaryStream(int,
>> InputStream) is not yet implemented
>>
>
> The following has been working for me since I think 8.1 (and the
> corresponding JDBC driver):
>
> Statement stmt = con.prepareStatement(
> "INSERT INTO blob_table (id, blob_col) VALUES (?,?)");
> stmt.setInt(1, 42);
>
> File blobFile = new File("my_picture.jpg");
> InputStream in = new FileInputStream(blobFile);
> stmt.setBinaryStream(2, r, (int)f.length());
> stmt.executeUpdate();
> con.commit();
>
> Thomas
>
>