- Datatype, som du kan bruge, er
BLOB
. -
Konverter PDF-filen, og bevar
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(); }
-
For at indsætte det i DB Hvis du bruger ORM-værktøjer, skal du blot kortlægge kolonnen som en klat, og værktøjet vil håndtere det for dig. Hvis du ikke bruger det, kan du oprette en forberedt erklæring. Statement har en metode kaldet setBlob(), som vil være nyttig. Overvej nedenstående eksempel og opret en normal indsættelsesforespørgsel med blob-kolonne.
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();