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

Discussion :

Uploader une image

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut Uploader une image
    bonjour ts le monde ça fait une semaine je travaille sur un truc et j'arrive pas a trouver la solution,
    je veux uploader une image et l'envoyer à scripte php qui existe dans un serveur, j'ai trouvé des codes mais rien à marche
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    void upload::uploadImage()
    {
     
        //path image
        QString path("C:/QtProjets/uploadImage/test.png");
     
        //php script that receives the image
        QNetworkRequest requete(QUrl("http://lien de serveur /upload.php")); //our server with php-script
     
        QByteArray boundary = "-------------------------87142694621188";
        QFile file(path);
        if (!file.open(QIODevice::ReadOnly))
        {
            qDebug()<<"erreur read image";
            return;
        }
        QByteArray fileContent(file.readAll());
     
        QByteArray data = "--" + boundary + "\r\n";
        data += "Content-Disposition: form-data; name=\"upload\"; filename=\"test.png\";\r\n";
        data += "Content-Type: image/png\r\n\r\n" + fileContent + "\r\n";
        data += "--" + boundary + "--\r\n";
     
        requete.setRawHeader("Content-Type", "multipart/form-data; boundary=" + boundary);
        requete.setRawHeader("Content-Length", QString::number(data.size()).toAscii());
        file.close();
        qDebug() <<"data"<< data.data();
        QNetworkAccessManager *am = new QNetworkAccessManager(this);
        QNetworkReply *reply = am->post(requete,"data="+data);
     
        QObject::connect(am, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
     
     
    }
    /************************************   reponse   *************************************/
    /************************************************************************************************************/
     
    void upload::replyFinished(QNetworkReply *reply)
    {
        reply->open(QIODevice::ReadOnly);
     
        // if the response is correct
        if(reply->error() == QNetworkReply::NoError)
        {
            QByteArray str=(reply->readAll());
            qDebug()<<"reponse de serveur :  "<<(reply->readAll());
            QString b = QString::fromUtf8(str.data(), str.size());
            qDebug()<<" la response de la requete est "<<str;
        }
     
        //error sever
     
        else
            qDebug()<<"error response server";
     
     
    }

    et mon code php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $data =$_POST['data'];$fp = fopen("image.png", 'w+');  fputs($fp, $data); fclose($fp);?>

    merci d'avance de m'aider

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut


    Peux-tu expliciter ceci ?

    Citation Envoyé par alibouche Voir le message
    mais rien à marche
    Quel est ton problème ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut
    cad j'ai trouvé plusieurs code mais aucun ne fonctionne

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    . Quand tu dis que ça ne fonctionne pas, ça veut dire quoi ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut
    merci dourouc05.
    mon probleme c'est que je voudrai faire un upload (avec Qt) d'une image qui existe dans mon pc et l'a envoyé vers un serveur

  6. #6
    Membre actif Avatar de Jerome S
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2011
    Messages : 62
    Par défaut
    Ceci n'est pas un problème, c'est ton objectif.
    Qu'est ce qui ne marche pas EXACTEMENT.
    Concrètement, comment sais-tu que ca ne marche pas ?

  7. #7
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut
    j'ai utilisé le code publié mais je sais pas ou existe l'erreur
    lorsque je fais le conversion d'image en QByteArray et je j'affiche le contenu je le trouve nul:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     QString path("C:/QtProjets/uploadImage/test.png");
     QFile file(path);
      if (!file.open(QIODevice::ReadOnly))
        {
            qDebug()<<"erreur read image";
            return;
        }
        QByteArray fileContent(file.readAll());
       qDebug()<<"  image converti :"<<fileContent;
    fileContent je le trouve null

  8. #8
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 15
    Par défaut
    le data final est comme suite:

    ---------------------------87142694621188
    Content-Disposition: form-data; name="upload"; filename="test.png";
    Content-Type: image/png

    ?PNG

    alors l'image converti ne s'ajoute pas et aussi la déclaration de fin de fichier aussi ne s'ajoute pas cad ce bloc ne prend en considération:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    data += "Content-Type: image/png\r\n\r\n" + fileContent + "\r\n";
        data += "--" + boundary + "--\r\n";
    

Discussions similaires

  1. uploader une image dans un autre formulaire
    Par jonathan.ohayon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 03/05/2006, 23h04
  2. uploader une image sur le serveur
    Par kespy13 dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2006, 20h01
  3. [Image]Lancer l'api du scanner pour uploader une image ?
    Par mikemead dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 30/03/2006, 20h27
  4. [Upload] uploader une image avec move_uploades_file
    Par pod1978 dans le forum Langage
    Réponses: 6
    Dernier message: 31/01/2006, 13h50
  5. Uploader une image à partir d'un formulaire ?
    Par netwebzone dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2005, 09h27

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