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

Réseau Discussion :

Serveur HTTP : publier une image ou un fichier binaire


Sujet :

Réseau

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 95
    Par défaut Serveur HTTP : publier une image ou un fichier binaire
    Bonjour à tou(te)s,

    J'espère que la question n'a pas déjà été posée sur ce forum, je ne suis pas parvenu à la retrouver en googlant .

    Voila je développe un petit serveur http/php à partir de l'exemple Fortune server de Qt et je me heurte à un problème.

    J'arrive à transférer les fichiers type html,js,css et tout autre type textuel, en revanche les type binaire (images,swf etc..) c'est mort.

    J'envois pourtant la bonne en tête je crois :



    J'utilise le code suivant :

    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
    void Http::readClient()
         {
     
             qDebug("Requête en cours....");
             // This slot is called when the client sent data to the server. The
             // server looks if it was a get request and sends a very simple HTML
             // document back.
             QTcpSocket* socket = (QTcpSocket*)sender();
             if (socket->canReadLine()) {
                 QStringList tokens = QString(socket->readLine()).split(QRegExp("[ \r\n][ \r\n]*"));
                 qWarning(tokens.join(",").toStdString().c_str());
                 if (tokens[0] == "GET") {
                     qDebug(tokens[1].toStdString().c_str());
                     QString filePath;
                     if (tokens[1]=="" || tokens[1]=="/"){
                         filePath = QDir::currentPath()+"/"+SERVER_WWW+"/index.php";
                     }else{
                        filePath = QDir::currentPath()+"/"+SERVER_WWW+tokens[1];
                     }
                     qDebug(filePath.toStdString().c_str());
                     QFile file(filePath);
     
                     QTextStream in(&file);
                     QTextStream os(socket);
                     os.setAutoDetectUnicode(true);
     
     
                     if(!file.open(QIODevice::ReadOnly)) {
                         qDebug("ERREUR : Fichier non ouvert");
                         os << "HTTP/1.0 404 OkHTTP/1.1 404 Not Found\r\n"
                               "Content-Type: text/html; charset=\"utf-8\"\r\n"
                             "\r\n<h1>Erreur 404</h1> Page non trouvée\r\n\r\n";
                     }else{
     
     
                         os << Http::getContentType(filePath);
     
                         while(!in.atEnd()) {
                             os << in.readLine() << "\r\n";
     
                         }
     
                         file.close();
                     }
                     socket->close();
                     if (socket->state() == QTcpSocket::UnconnectedState) {
                         delete socket;
                     }
                 }
             }
         }

    J'ai essayé avec QDataStream au lieu de QTextStream en pensant que c'était ça qui bloquait mais je ne dois pas m'y prendre comme il faut...

    Auriez vous une piste ?

    Merci d'avance
    Images attachées Images attachées  

Discussions similaires

  1. imprimer une image dans un fichier
    Par SegmentationFault dans le forum Delphi
    Réponses: 7
    Dernier message: 02/08/2006, 16h04
  2. Enregistrer une image dans un fichier XML
    Par MiJack dans le forum Delphi
    Réponses: 12
    Dernier message: 24/05/2006, 10h24
  3. Insérer une image dans un fichier exe
    Par RenaudB dans le forum Delphi
    Réponses: 22
    Dernier message: 18/05/2006, 10h53
  4. ENREGISTRER UNE IMAGE OU UN FICHIER .DOC
    Par manudja dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/08/2005, 13h32
  5. Récupérer la taille d'une image dans un fichier (GIF/JPEG)
    Par SheikYerbouti dans le forum Multimédia
    Réponses: 4
    Dernier message: 12/05/2005, 14h17

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