- Il tipo di dati che puoi utilizzare è
BLOB
. -
Converti il file PDF e mantieni il
byte[]
matrice nel database.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(); }
-
Per inserirlo nel DB Se stai utilizzando uno strumento ORM devi solo mappare la colonna come blob e lo strumento lo gestirà per te. Nel caso in cui non lo utilizzi, puoi creare una dichiarazione preparata. L'istruzione ha un metodo chiamato setBlob() che sarà utile. Considera l'esempio seguente e crea una normale query di inserimento con la colonna BLOB.
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();