- Le type de données que vous pouvez utiliser est
BLOB
. -
Convertir le fichier PDF et conserver le
byte[]
tableau dans la base de données.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(); }
-
Pour l'insérer dans la base de données Si vous utilisez des outils ORM, il vous suffit de mapper la colonne en tant que blob et l'outil le gérera pour vous. Si vous ne l'utilisez pas, vous pouvez créer une déclaration préparée. Statement a une méthode appelée setBlob() qui sera utile. Considérez l'exemple ci-dessous et créez une requête d'insertion normale avec une colonne 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();