Image java [Résolu]

Signaler
-
 WANGI -
Bonjour,

je veux stocker des images sous Mysql, et puis les afficher dans mon programme java, (je fais une gestion des étudiants). est ce que vous pouvez m'aider s'il vous plait.

2 réponses

Messages postés
32948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 juin 2021
351
Bonjour,

Quel est le souci rencontré ?

NB : Il est préférable, pour des questions de performance, de ne pas stocker directement les images en BDD mais uniquement leur chemin.
-> Tu créer un dossier Images
-> Dans ta BDD.. pour chaque image tu donnes un ID, un Nom, le chemin vers le répertoire où elle se trouve.


NB2 : Pour obtenir plus d'aide concernant ta demande... merci de respecter la charte du site et donc de donner un maximum d'informations sur les difficultés rencontrées et les tests que tu as effectué avant d'appeler au secours...

Je t'invite à lire les liens suivants:
http://codes-sources.commentcamarche.net/contents/11-charte-de-commentcamarche-net-conseils-d-ecriture

http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

http://codes-sources.commentcamarche.net/forum/affich-1557761-bar-sujet-de-pfe-tp-et-autres-devoirs-scolaires#top

.
Placer un label nommé le par jlphoto et un bouton appelé importer.

Placez comme action dans le bouton:

JFileChooser fc= new JFileChooser();
fc.setFileFilter(new FileNameExtensionFilter("Image JPEG, PNG ou GIF", "jpg", "gif", "png"));
fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = fc.showOpenDialog(this);
if (JFileChooser.OPEN_DIALOG == result) {
if ( fc.getSelectedFile().length() < 8000000) {
CheminPhoto = fc.getSelectedFile().getAbsolutePath();
jlphoto.setIcon(new ImageIcon(CheminPhoto));

} else {
JOptionPane.showMessageDialog(this, "La taille maximale de la photo est 2 Mo, "
+ "veuillez choisir une autre photo", "Attention", JOptionPane.WARNING_MESSAGE);
}//fin getSelectedFile
}

N'est pas oublier d'importer
import javax.swing.filechooser.FileNameExtensionFilter;
import java.sql.Blob;

NB Les images sous MYSQL sont du type blob et on ne precise pas la taille.
Exemple: photo blob comme champs dans une table

Pour enregistrer, le code java a utilisé est:


//création d'un fichier une image
File monImage = new File(cheminPhoto);
FileInputStream istreamImage = new FileInputStream(monImage);

//affectation des valeurs

PreparedStatement prepare=null;
String requete="insert into table (photo)values(?)";

prepare=con.prepareStatement(requete);
prepare.setBinaryStream(1, istreamImage, (int) monImage.length());

prepare.executeUpdate();
prepare.close()

Ir Eric WANGI NGOY