Hello ! bonjour/bonsoir/bonne nuit à tous !

j'ai (encore) une question de néophyte qui à mon avis est assez simple...mais j'ai un peu du mal à trouver

pour faire simple, je développe une petite desktop app qui permet ( entre autres fonctionnalités), de sauver des images dans une base de donnée, pour ensuite récupérer ces images pour les afficher dans l'appli.

Donc, pour faire ca, j'utilise une BDD SQlite dans laquelle j'insère mes images sous forme d'un LargeBinaryObject (BLOB), sous un format byteArray...donc là pas de problèmes...

Après, je souhaite récuperer ce byteArray[] depuis ma base de données pour l'afficher, je dois donc RECONVERTIR mon byteArray[] en fichier image.

en cherchant à droite et à gauche, j'utilise le code suivant pour convertir mon byte array en image, et ca marche très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
		//methode pour convertir le byte array en image
		public static void /*File*/ ByteArrayToImage(byte [] imgData) throws IOException {
 
 
			      ByteArrayInputStream bis = new ByteArrayInputStream(imgData);
			      BufferedImage bImage2 = ImageIO.read(bis);
			      ImageIO.write(bImage2, "jpg", new File("temp.jpg") );
			      System.out.println("image created");
//			      return monImageFile;
			   }
Donc ca crée bien un fichier .jpg sur mon ordi. que je parviens bien évidemment à charger dans mon imageViewer sur ma scène...en utilisant le code ci dessous (qui se trouve dans une autre classe de mon code ):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
File fileImg = new File("C:/Users/regol/Projets_Java/bibli/temp.jpg");
		FileInputStream inputStream = new FileInputStream(fileImg);
		Image img1 = new Image(inputStream);
		ImgViewShow.setImage(img1);
.

Tout ca fonctionne sans soucis, sauf que c'est pas exactement ce que je voulais faire, c'est pas très propre et ca risque de me poser des problèmes d'accès par la suite lors du déploiement de l'application.

j'aurais souhaité récupérer ce fichier image sans l'enregistrer sur mon ordi, et l'afficher directement dans mon imageviewer.

il me faut prendre un raccourcis que je ne parviens pas à trouver. puise ImageIO.write(bImage2, "jpg", new File("temp.jpg") ) renvoie un Boolean, je ne sais pas comment accéder au fichier crée autrement qu'en allant le chercher "physiquement" sur mon SSD.
il faudrait que cela reste un FILE....

merci !!
encore un petit effort et j'ai fini mon premier vrai projet ! je suis pas loin juste cette histoire d'image, puis retravailler l'ergonomie, corriger quelques comportements, mettre des alertes icic et la, bref......