Transformer PDF en longblob
Bonjour à tous,
J'aurais eu besoin de l'éclairage de la communauté sur un point technique pour lequel je bloque.
J'ai une base MySQL dans laquelle je viens stocker des PDF en longblob.
Alors, oui je sais, c'est pas bien de stocker des fichiers dans une base, mais là, je n'ai pas trop le choix et je n'en ai pas des masses à stocker :)
Je me suis fait une moulinette pour tenter de transformer mon PDF en byte[], car c'est apparemment comme ça qu'il faut l'insérer dans un champ longblob. Mais ma moulinette en question ne me sort pas grand chose.
Voilà déjà mon code ::
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
public byte[] PDFenBlob(String cheminFichierPDF) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(cheminFichierPDF));
StringBuffer fileContentStr = new StringBuffer("");
String line = null;
byte[] fileContent = null;
try {
while ((line = reader.readLine()) != null) {
fileContentStr.append(line);
}
fileContent = fileContentStr.toString().getBytes();
reader.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return fileContent;
} |
Lorsque je tente d'appeler ensuite ma méthode qui va insérer ce joli monde en base, je serais en droit d'attendre un truc un peu volumineux, étant donné que mon PDF type fait 3 pages, mais au lieu de ça j'insère ça : [B@1c6b6478
Un peu piteux.
Pour info, voilà ma méthode d'insertion, le fileContent étant censé être le blob à insérer :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public void insererNouveauFichierPro(int idPersonnes,byte[] fileContent) throws SQLException {
Connection cn;
String titre = "cvInsertAutoTest";
String type = "pro";
cn=(DriverManager.getConnection(getUrl(),getLogin(),getMdp()));
Statement st=cn.createStatement();
String requete = "insert into snr.cv (`idcv`,`idpersonnes`, `titrecv`, `cv`, `type`) "
+ "VALUES (NULL,"
+idPersonnes+","
+ "\'"+titre+"\',"
+ "\'"+fileContent+"\',"
+ "\'"+type+"\')";
System.out.println(requete);
st.executeUpdate(requete);
} |
Est-ce que quelqu'un aurait une idée de l'endroit où mon code déconne ?
Merci à vous.
Bonne journée.