IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

enregistrer une image dans mysql


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 22
    Points : 24
    Points
    24
    Par défaut enregistrer une image dans mysql
    salut à tous,
    je voudrais enregistrer plusieurs images dans une base de donnée mysql à partir d'une application android pour pouvoir les retrouver plus tard , j'aimerais savoir comment puis- je faire ça? et si les images vont etre enregistrer telles qu'elles sont (images) ou juste des liens vers d'autres emplacements. quelqu'un a déjà fait ça et peut m'aider svp !!!!

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    En général on enregistre pas les images directement dans la base de données , mais simplement le chemin vers le fichier sur le disque.
    Il te faut donc un webservice sur ton serveur qui va recevoir l'image , l'enregistrer sur le disque en enregistrer son chemin dans la base de données
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Points : 91
    Points
    91
    Par défaut
    Premièrement, il faut récupérer la photo à partir de l'emplacement où elle se trouve et l'afficher dans un ImageView.
    Apartir de cela, nous allons récupéré la photo qui affichée et le transformé à une photo du type Bitmap et le stoqué dans
    dans une variable du type Bitmap nommée par exemple image.
    Cette variable doit avoir la porté globale.

    Pour récupérer maintenant la photo:
    image = ((BitmapDrawable) ImagePhoto.getDrawable()).getBitmap();

    Après on doit créer une notre méthode qui transforme l'image récupéré en une chaine de caractère et cette chaine des caractères qui sera envoyée au serveur pour être enregistrer dans la base de donnée.

    Supposons que nous avons crée une méthode qui reçoit en paramétre une donnée du type Bitmap et
    retourne un String. nommée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     public String getStringImage(Bitmap bmp){
    		        ByteArrayOutputStream baos = new ByteArrayOutputStream();
    		        //compression de l'image
    		        bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    		        byte[] imageBytes = baos.toByteArray();
    		        String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
    		        return encodedImage;
    		    }
    La valeur de retour de cette image doit à son tour être stocké dans une varaible du type String qu'on peut nommée par exemple
    uploadImage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uploadImage = getStringImage(image);
    Une fois que cette variable reçoit l'image qui est transformée en chaine, nous pourrons en suite faire appel à une méthode
    pour l'envoyer au serveur en utilisant classe AsyncTask en envoyant les donnée par la méthode Post.

    Si par exemple dans notre code d'envoi, nous avons précisé le nom du champs comme photo alors au niveau
    du php à l'aide de la méthode Post['Photo'] on pourra la récupérer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    	            nameValuePairs.add(new BasicNameValuePair("photo", uploadImage));
    Au niveau du PHP:

    -récupérer la photo: $photo= $_POST['photo'];
    -décoder la photo: $decodeimage=base64_decode("$photo");
    -stockage de la photo: file_put_contents("images/".$nomphoto,$decodeimage);

    C'est à vous de définir comment doit être le nom de la photo qu'on veut stocké dans le dossier images au niveau du serveur mais le nom de la photo doit avoir comme extension jpg.

    La photo est transférée dans un dossier et le nom de l'image se trouvant dans la variable $nomphoto doit être stocké dans une table
    de la base de données.

Discussions similaires

  1. Enregistrer une image dans une table MySQL
    Par echap2000 dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/12/2006, 12h22
  2. enregistré une image dans forms builder
    Par sofian001 dans le forum Forms
    Réponses: 4
    Dernier message: 28/06/2006, 10h18
  3. [C#] Comment enregistrer une image dans une tables access ?
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 7
    Dernier message: 16/06/2006, 11h58
  4. Enregistrer une image dans un fichier XML
    Par MiJack dans le forum Delphi
    Réponses: 12
    Dernier message: 24/05/2006, 10h24
  5. enregistrer une image dans une base mysql
    Par zidenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/04/2006, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo