Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Stream / BufferedImage / JDBC [ Archives / JDBC ] (Miti)

mercredi 14 septembre 2005 à 19:47:50 | Stream / BufferedImage / JDBC

Miti

Bonjour, bonjour...

Je rencontre quelques problèmes à insérer des BufferedImage dans SQL.

En faite j’y parvient très bien en en procédant comme ça :


FileOutputStream out = new FileOutputStream( url ); 

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( out ); 
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam( pBufImage ); 
param.setQuality( 0.5f, false ); 
encoder.setJPEGEncodeParam( param );
encoder.encode( pBufImage ); 
out.close();   

File monFile1 = new File( url  );

FileInputStream istreamImage1 = new FileInputStream( monFile1 );

PreparedStatement ps = connexion.prepareStatement( "insert into x  (Img_1)  values ( ? ) "  );
 
 ps.setBinaryStream( 1, istreamImage1, (int) monFile1 .length() );

Donc si on résume je fais un FileOutputStream et le sauve au format JPEG en local, puis le récupère sous forme de File pour ensuite le transformer en FileInputStream pour enfin l'envoyer par la méthode setBinaryStream de PreparedStatement .

J'essaye donc de simplifier cette procèdure.

Pour faire plus court j’ai essayé un truc comme ça :

ImageInputStream streamImage =  ImageIO.createImageInputStream(  this.bufImage  );

 PreparedStatement ps = connexion.prepareStatement( "insert into x  (Img_1)  values ( ? ) "  );
 
 ps.setBinaryStream( 1, streamImage , (int) streamImage.length() );

Mais bien entendu c'est pas si simple

Si qqun connait la soluce, il sera mille fois remercié !!!

 


samedi 17 septembre 2005 à 09:32:52 | Re : Stream / BufferedImage / JDBC

Miti

Réponse acceptée !
Le plus court que j'ai réussi à faire ça resemble à ça:

ImageIO.write( this.bufferedImage , "jpg", new File("bufferedImage.jpg") );
FileInputStream img = new FileInputStream("bufferedImage.jpg");

PreparedStatement ps = connexion.prepareStatement( "insert into x  (Img_1)  values ( ? ) "  );
ps.setBinaryStream( 1, img , (int) img.available() );

Il y a 4 lignes et ça oblige à faire un accès sur le HD. Snif...



Cette discussion est classé dans : out, bufferedimage, ps, encoder, fileoutputstream


Répondre à ce message

Sujets en rapport avec ce message

probleme de conversion d'un tableau byte[] en BufferedImage [ par ouassit ] bonjour bon je vais expliquer mon probleme ; je veux envoyer un objet de type BufferedImage en resaue utlisant une connexnio UDP ; j'ai pu convertir m Problème de connexion à une base de donnée Access avec une servlet [ par Yakurena ] Bonsoir, J'essaie en ce moment de réaliser une servlet qui permettrait de faire des requêtes sur une base de données Access. J'ai donc realisé pour ce Connexion distante [ par rimkazz ] Bonjour J'ai un problème de driver...je crois Quand je lance mon prog avec DriverManager.getConnection("jdbc:mysql://localhost/orevad?user=root&pas Pb pour envoyer un fichier.... [ par egire ] bonjour, j'ai un petit problème en java pour envoyer un fichier, je vais vous éxpliquer : Le but est de faire un serveur et un client, le client deman Problème avec les Sockets [ par hisse ] import java.net.*;import java.io.*; public class Client extends Thread{ Socket socket;   BufferedReader in;   PrintWriter out;  public Client(){  try{ ecriture dans un fichier [ par oash ] bonjour , je recois plusieurs string l'un a la suite de l'autre et je veux les ecrire dans un fichier, il ecrit dans le fichier mais tout en une seule ecriture dans un fichier [ par oash ] bonjour , je recois plusieurs string l'un a la suite de l'autre et je veux les ecrire dans un fichier, il ecrit dans le fichier mais tout en une seule jdbc [ par ghaniacha ] salut mon probleme est je peux pas inserer dans une base creer en my sqlvoila le code //import java.sql.*; public class testsql{      int idf_doc;  S nombre de connecter ... [ par eragon77 ] bonjour à tous alors voila mon probléme je n'arrive pas a utiliser ce code et surtout dans quelle extension l'enregistrer : import java.io.*;import Syntaxe étrange [ par alonsyl ] bonjour,dans un bouquin, j'ai trouve un code du genre :class Bird {   { System.out.print("toto"); }   public Bird() { System.out.print("tata"); }}</E


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.