Russian Qt Forum
Ноябрь 23, 2024, 04:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Передача изображения  (Прочитано 3727 раз)
barny078
Гость
« : Январь 29, 2014, 12:42 »

Всем привет.

Есть программа http-сервер. К нему коннектится браузер по адресу 127.0.0.1/p.png. В ответ должна отобразиться картинка, но этого не происходит.

Код обработки клиента:

Код:
QByteArray arrBlock;
QTcpSocket* clientSocket = (QTcpSocket*)sender();
    QStringList tokens = QString(clientSocket->readLine()).split(QRegExp("[ \r\n][ \r\n]*"));
    if (tokens[0] == "GET") {
        tokens[1] = tokens[1].prepend(".");
    }

if (tokens[1] == "./p.png")
    {
        QPicture pic;
        pic.load(tokens[1]);
        QDataStream out(&arrBlock, QIODevice::WriteOnly);
        int size = pic.size();
        out << "HTTP/1.0 200 Ok\r\n"
               "Content-Type: image/png\r\n"
               "Content-Length: " << size << "\r\n"
               "\r\n";
        out.writeRawData(pic.data(), size);
        clientSocket->write(arrBlock);
     }
Что не так?

PS Еще в выводе возникает уведомление "QPicturePaintEngine::checkFormat: Incorrect header", но при этом переменная size показывает правильное значение.
Записан
popper
Гость
« Ответ #1 : Январь 29, 2014, 20:50 »

Может, проблема в QDataStream::ByteOrder
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #2 : Январь 30, 2014, 06:24 »

А зачем использовать QPicture pic; Непонимающий
Используй QFile.open и QFile.read.


к тому-ж не будет зависимости от GUI  т.к. использование QPicture требует наличия плагинов plugins/imageformats/*.*
И главное,  можно будет передавать любой файл запрошенный  GETом
Записан

Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Январь 30, 2014, 22:32 »

и лучше использовать  QNAM для вашей цели
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.