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

JDBC Java Discussion :

StringBuffer et Image


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut StringBuffer et Image
    Je récupère une image du net et je la stocke en StringBuffer sb.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    StringBuffer sb = read (urlimage, adressProxy(), portProxy());
    mais j'ai des problèmes pour l'enregister dans la base.
    j'ai vu qu'il existe une méthode mais en utilisant un fichier image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File monImage = new File(locationimage);
    FileInputStream istreamImage = new FileInputStream(monImage);
    ps.setBinaryStream(1, istreamImage, (int) monImage.length());
    Je préfère ne pas créer un fichier et enregister le StringBuffer dans la base directement, comment faire?

    Merci si qq1 à une idée.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu peux par exemple faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    StringBuffer sb = read (urlimage, adressProxy(), portProxy());
    ByteArrayInputStream istreamImage = new ByteArrayInputStream(sb.toString().getBytes());
    Attention cependant à l'encoding !
    D'ailleurs c'est étrange que tu récupères une image comme StringBuffer ....

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par taouja
    Je récupère une image du net et je la stocke en StringBuffer sb.


    Il n'y a pas un petit problème dans ton raisonnement !!! Tu stockes une image dans une chaine de caractère

    Citation Envoyé par taouja
    j'ai vu qu'il existe une méthode mais en utilisant un fichier image.
    Un InputStream représente un flux quelconque et non pas forcément un fichier !


    a++

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    Apparement ça affiche une image mais tres bruite, on voit pas du tout l'image en exacte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    StringBuffer sb = read (url, adressProxy(), portProxy());
     
    ByteArrayInputStream istreamImage = new ByteArrayInputStream(sb.toString().getBytes());
     
    ps.setBinaryStream(2, istreamImage, sb.length());
    je vois pas pourquoi l'image est bruite

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Peut être justement parce que tu stockes du binaire en texte ce qui comme on te l'a signalé n'est pas vraiment possible ...

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par taouja
    je vois pas pourquoi l'image est bruite
    Surement parce que tu passes par un StringBuffer qui traite ton image comme du texte (et doit surement réencoder certains "caractères").

    Il ne faut pas utiliser de StringBuffer mais lire directement le flux...

    a++

  7. #7
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Ba ouais c'est risqué comme truc, le StringBuffer est fait spécialement pour des String et peut-être qu'il effectue des opérations spéciales liées à celles-ci que tu ne vois pas.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Par défaut
    J'ai fait mais ça marche pas:

    J'ai changé le code qui lit image sous forme InputStream

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    InputStream input = read (url, Utilite.adressProxy(), Utilite.portProxy());
    Mais ça affiche rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ps.setBinaryStream(1, input, ...);
    Je sais pas quoi ecrire dans les trois point, car il demande la taille de l'image. comment connaitre la taille d'un InputStream

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46
  3. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

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