Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: qt 4.8 multipart не могу понять, как сформировать  (Прочитано 984 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн _XDD_

  • Автор темы
  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Добрый день. Не могу понять, как формировать qhttpmultipart для отправки ((((

есть url, content-type и изображение которое надо выслать (
помогите, пожалуйста, заполнить для отправки ((

Оффлайн tagezi

  • Оператор IRC
  • Активист
  • *
  • Сообщений: 359
    • Просмотр профиля
    • Информатика в экономике и управлении
Re: qt 4.8 multipart не могу понять, как сформировать
« Ответ #1 : 31 Октябрь 2013, 14:03:30 »
Добрый день. Не могу понять, как формировать qhttpmultipart для отправки ((((

есть url, content-type и изображение которое надо выслать (
помогите, пожалуйста, заполнить для отправки ((
Что конкретно вы не можете понять?
ASUS K53E, intel i5, 8 Gb, Integrated Intel® GMA HD
wiki LibreOffice
справка LibreOffice

Оффлайн _XDD_

  • Автор темы
  • Участник
  • *
  • Сообщений: 108
    • Просмотр профиля
Re: qt 4.8 multipart не могу понять, как сформировать
« Ответ #2 : 02 Ноябрь 2013, 08:21:15 »
tagezi,
Цитировать
    QFile *file = new QFile("x.jpg");
    file->open(QIODevice::ReadOnly);

    QNetworkRequest request;
    request.setUrl(str);

    QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);


    QHttpPart imagePart;
    imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/octet-stream"));
    imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; Filename=\"x.jpg\""));
    imagePart.setBodyDevice(file);
    multiPart->append(imagePart);


    _manager->post(request, multiPart);

вот так формирую отправку. в ответ приходит, что файл должен быть jpg и < 5Mb.
однако мой файл x.jpg и так jpg и 6200Kib.

Что я делаю не так?(


Пользователь решил продолжить мысль 02 Ноябрь 2013, 10:30:14:
вопроса больше нет. оказалось, там другая форма заполнения для серва
 
imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"file\"; Filename=\"x.jpg\""));а
imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"Filedata\"; Filename=\"x.jpg\""));
полный код
    QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);

    QHttpPart fName;
    fName.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"Filename\""));
    fName.setBody("x.jpg");
    QHttpPart imagePart;
    imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/octet-stream"));
    imagePart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"Filedata\"; filename=\"x.jpg\""));


    QFile *file = new QFile("x.jpg");
    file->open(QIODevice::ReadOnly);
    file->setParent(multiPart);

    imagePart.setBodyDevice(file);

    multiPart->append(fName);
    multiPart->append(imagePart);


    _manager->post(request, multiPart);
« Последнее редактирование: 02 Ноябрь 2013, 10:30:14 от _XDD_ »

 

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