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

Qt Discussion :

Ecriture de fichier binaire


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut Ecriture de fichier binaire
    Bonjour,

    Je récupère une donnée de type Blob d'un base de donnée et je tente désespérement recréer le fichier en vain.

    J'arrive a écrire l'image avec QPixmap, mais mon blob peu contenir n'importe quoi et j'aimerais donc passer par QFile.

    Voici mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // ...
    QPixmap pic;
    content = selectedFichier->getContent();
    pic.loadFromData(content);
    pic.save("test.jpg");
     
    // Jusqu'à présent comme je le disais ca marche, mais j'aimerais étendre cette écriture a tout type de fichier (doc, pdf, etc).
    // Je tente donc :
    QFile file("yop.jpg");
    file.write(content);
    // ...
    J'ai tenté avec des QTextStrem :
    Mais après je n'arrive pas a l'écrire.

    Dans tout les cas il n'y a pas d'erreur, le fichier est juste corrompu (a part avec QPixmap);

    Si l'un de vous a une solution, ça pourrait m'éviter le suicide dans pas longtemps

    Merci par avance.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut utiliser du text pour du binaire???


    Au lieux de QTextStream utilise QDataStream
    http://qt.developpez.com/doc/latest/qdatastream.html

  3. #3
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Et il me semble que tu est obligé d'appeler open avant d'écrire (je ne suis plus sure)

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    Au lieux de QTextStream utilise QDataStream
    http://qt.developpez.com/doc/latest/qdatastream.html
    J'ai tenté aussi, j'ai même un book de Qt 4 (merci Alp) sous les yeux et je commence a connaitre la doc Qt sur cette partie par cœur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QDataStream unFlux(&file);
    unFlux << content;
    Le fichier se remplis bien mais une fois de plus corrompu.

    Ce qui me fait péter un plomb c'est que ça marche parfaitement avec QPixmap.

    puisque le fichier se remplis je pense que le constructeur recevant un QFile appel open().

    Par contre une idée d'où le problème peut venir c'est qu'en regardant la liste des opérateurs << de QDataStream aucun reçoit. un QByteArray (type de mon content).

    Bref je suis toujours preneur d'idée

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut

    essaie de remplir un QByteArray en utilisant QDataStream
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QFile file("yop.jpg");
    file.open(QIODevice::ReadWrite);
    file.write(content);
    Peut tu montrer le code de remplissage et peut tu mettre le fichier yop.jpg sur le forum?

  6. #6
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    5h de prise de tête pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file.open(QIODevice::ReadWrite);
    Enfin bref, merci infiniment, je commençais a perdre espoir de faire ce que je voulais.


  7. #7
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Mongaulois a encore frappé.


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

Discussions similaires

  1. Lecture / Ecriture de fichier Binaire
    Par Gueuz dans le forum C#
    Réponses: 11
    Dernier message: 16/08/2013, 22h21
  2. Ecriture dans fichier binaire
    Par Tenebrous dans le forum C++
    Réponses: 3
    Dernier message: 18/04/2012, 09h53
  3. Ecriture dans fichier binaire
    Par chris78200 dans le forum MATLAB
    Réponses: 2
    Dernier message: 11/01/2011, 09h55
  4. Réponses: 5
    Dernier message: 02/10/2006, 22h54
  5. Ecriture dans fichier binaire
    Par kek_net dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2006, 13h42

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