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

Langage Java Discussion :

Comment convertir un FileinputStream to blob


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Points : 38
    Points
    38
    Par défaut Comment convertir un FileinputStream to blob
    Bonjour tout le monde
    voila mon probleme je veux inserer une image dans une base de donnees
    Image est de type Blob dans ma base
    voila mon code
    j'ai la methode ajouter qui contient picture de type blob
    le probleme c'est que je reçoit un message qu'il est impossible de Caster fileInputStream to blob !!
    vous avez des idees
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    File imagef = new File("C:/image.jpg");
    FileInputStream fis = new FileInputStrea(imagef);
    Blob picture=(Blob)(fis);
     
    gc.ajouter(new Article(picture,description,prix,C1,q_d));
    Merci d'avance

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    C'est normal que le cast soit impossible, FileInputStream n'est pas une implementation de Blob !

    Peut-être que ceci pourra t'aider :
    http://java.sun.com/j2se/1.5.0/docs/...jdbc/blob.html


  3. #3
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Reponse
    Resultset.updateBlob(int colonne, InputStream flux,);
    FileInputStream étant une sous-classe de InputStream, vous pouvez le fournir tel-quel.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Bonsoir,

    Citation Envoyé par pursang Voir le message
    Resultset.updateBlob(int colonne, InputStream flux,)
    pursang,

    Pour avoir un objet de type Resultset, il faut bien effectuer une requête de type select avant ?
    Le besoin initial est plus simple il me semble : juste de l'insertion.

    feldene,

    N'hésite pas à préciser ta configuration applicative : api persistance, version de java. Ca aide à donner une solution plus pertinente.

    Pour l'heure, on va faire avec
    Si tu utilises un ORM genre Hibernate, Ibatis... t'as pas grand chose à faire :
    Déclarer un champ de type Blob ou Byte[] dans ton entité java et le faire mapper à une colonne de ta table de type blob.

    Si tu utilises en front de ta couche persistance l'api jdbc, c'est un petit peu plus compliqué mais tu peux passer par une instance de PreparedStatement pour te faciliter la vie.

    voir la méthode setBinaryStream(...) de PreparedStatement si jdk < 1.6 (tuto)
    voir la méthode setBlob(...) de PreparedStatement si jdk = 1.6 ;
    Ils flottent tous en bas

Discussions similaires

  1. Comment convertir un memorystream lu dans un blob en string
    Par colorid dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/11/2007, 23h30
  2. Réponses: 6
    Dernier message: 14/02/2004, 14h01
  3. Comment convertir un lecteur du NTFS au Fat32
    Par Cyberman dans le forum Composants
    Réponses: 8
    Dernier message: 24/11/2003, 21h38
  4. Réponses: 3
    Dernier message: 28/09/2003, 10h46
  5. Comment convertir un Jpeg en .ico
    Par Valéry dans le forum Outils
    Réponses: 5
    Dernier message: 04/07/2003, 09h43

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