- Datatyp som du kan använda är
BLOB
. -
Konvertera PDF-filen och behåll
byte[]
array i databasen.private byte[] getByteArrayFromFile(final Document handledDocument) throws IOException { final ByteArrayOutputStream baos = new ByteArrayOutputStream(); final InputStream in = new FileInputStream(handledDocument); final byte[] buffer = new byte[500]; int read = -1; while ((read = in.read(buffer)) > 0) { baos.write(buffer, 0, read); } in.close(); return baos.toByteArray(); }
-
Att infoga det i DB Om du använder några ORM-verktyg behöver du bara mappa kolumnen som blob och verktyget kommer att hantera det åt dig. Om du inte använder det kan du skapa ett förberett uttalande. Statement har en metod som heter setBlob() som kommer att vara användbar. Betrakta exemplet nedan och skapa en normal infogningsfråga med blob-kolumn.
String sql = "INSERT INTO testtable(stringcolumn, blobcolumn) VALUES(?,?)"; PreparedStatement statement = conn.getConnection().prepareStatement(sql); statement.setLong(1, version); ByteArrayInputStream bais = new ByteArrayInputStream(getByteArrayFromFile(document)); statement.setBlob(2, bais); statement.execute(); conn.commit();