Bonjour,

Pour un besoin, j'ai créé un mini-serveur HTTP avec Qt.

Il s'agit de pouvoir télécharger des fichiers, rien de plus.

A la requête HTTP, je réponds ça, et ça marche très bien avec des fichiers textes :

(m_ressources[fileToGet] est un QByteArray contenant le contenu du fichier a envoyer)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
QTextStream stream(pSocket);
stream << "HTTP/1.0 200 Ok\r\n"
          << "Content-Type: application/force-download\r\n"
          << "\r\n"
          << m_ressources[fileToGet];
Par contre, avec des fichiers binaires, ça ne marche pas, le fichier est corrompu à l'arrivée !

Ou est-ce que je me trompe ? Dans les headers ?

Note : j'ai essayé avec un QDataStream à la place du QTextStream, et là plus rien ne passe, même pas le fichier texte !

Merci !