Voila, j'ai un Label qui contient une ImageIcon (jusqu'ici rien d'anormal)...
J'aimerai deja stocker cette Image ds une Base de donnees mySQL en utilisant je pense un type BLOB (ou autre) , donc deja comment faire?????
Apres, je voudrais recuperer la photo de la BD et la reinserer ds un nveau JLabel... Donc la question est comment faire pour que j'ai ma photo qui s'affiche ds mon JLabel et non pas un truc du type javax.swing.ImageIcon@bfh2kj ....
Je sais pas si je suis clair, mais j'espere que qqu'un pourra m'aider tres vite...
MERCI
Alors j'ai mon label qui contient l'image (elle s'affiche parfaitement) et je fais:
ImageIcon ph = ((ImageIcon)(urlPhoto.getIcon()));
et apres je fais:
requete = "insert into elus (nom,prenom,etiquette,titre,photo,mail,tel,telec,port,region,departement,circonscription,canton,commune) values ('"+n+"','"+p+"','"+et+"','"+x+"','"+ph+"','"+m+"','"+t+"','"+tc+"','"+po+"','"+reg+"','"+dept+"','"+circ+"','"+cant+"','"+comm+"');";
et je lance un ResultSet qui fait l'insertion et ca rentre bien les valeurs.
Le champ de la BD pr ma photo est un BLOB.
Et apres une fois que je vx recuperer l'image sotckee, je fais:
String k = rs.getString("photo");
ImageIcon z = new ImageIcon(k);
et je recolle le "z" ds un label.
Franchement je sais pas, donc merci pr l'aide que tu pourras m'apporter
Oliv
Merci c sympa, mais le chti prob, c que l'image est pas stockee sur le disque, elle vient directement du presse papier (oui je sais c complique comme systeme, mais c une question de rapidite)
Je copie une image du presse papier directement sur le label et je vx la stocker dans la base...Ca marche qd meme ton idee???
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Alors je fais ca:
File f = new File("olivier.jpg");
FileInputStream fin = new FileInputStream(f);
BufferedInputStream buf = new BufferedInputStream (fin);
ByteArrayOutputStream out = new ByteArrayOutputStream();
int b;
while ((b = buf.read()) != -1){
out.write(b);
}
buf.close();
byte[] array = out.toByteArray();
out.close();
connexion.insertion("update elus set photo='"+array+"' where id = 1");
pour stocker la photo ds la base, le type de photo est BLOB. La requete lancee est:
update elus set photo='[B@e45076' where id=1;
Apres pr recuperer la photo je fais:ResultSet resultSet connexion.selection("select photo from elus where id 1");
try{
if (resultSet.next()){
InputStream inputStream = resultSet.getBinaryStream(1);
if (inputStream != null){
BufferedInputStream in = new BufferedInputStream(inputStream);
ByteArrayOutputStream out = new ByteArrayOutputStream();
int b;
while ((b = in.read()) != -1){
out.write(b);
essayes de faire :
buf.close();
String array = out.toString();
out.close();
connexion.insertion("update elus set photo='"+array+"' where id = 1");
Duss
Ca fait exactement la meme erreur, vu que a partir du moment ou un ' va se ballader ds la String, ca va planter la requete.
Je vois vraiment plus moi :(
D'autres idees??
Merci
Oliv