- Datový typ, který můžete použít, je
BLOB
. -
Převeďte soubor PDF a ponechte
bajt[]
pole v databázi.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(); }
-
Vložení do DB Pokud používáte nějaké nástroje ORM, stačí namapovat sloupec jako blob a nástroj to za vás zpracuje. V případě, že jej nepoužíváte, můžete vytvořit připravený výpis. Příkaz má metodu nazvanou setBlob(), která bude užitečná. Zvažte níže uvedený příklad a vytvořte normální vkládací dotaz se sloupcem 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();