Russian Qt Forum

Qt => Работа с сетью => Тема начата: Zusykss от Марта 03, 2017, 04:35



Название: Помогите с загрузкой картинки
Отправлено: Zusykss от Марта 03, 2017, 04:35
Пытаюсь загрузить картинку в форму для поста.

Не могу загрузить картинку, так как не понимаю как она туда грузится.
Просматриваю запросы которые получаю из снифера, там никаких зацепок разве что имя картинки толку от этого 0 =), но это ничего не дает, пытался в снифере отправлять эти же запросы нифига не помогает.




Название: Re: Помогите с загрузкой картинки
Отправлено: Zusykss от Марта 03, 2017, 12:01
Пост можно закрывать, нашёл решение


Название: Re: Помогите с загрузкой картинки
Отправлено: gil9red от Марта 03, 2017, 12:03
Вы молодец, что смогли сами найти решение проблемы :)
Но некоторые из пользователей с аналогичной проблемой не смогут сделать это сами, а если наткнутся на ваше решение, возможно, смогут разобраться.


Название: Re: Помогите с загрузкой картинки
Отправлено: Zusykss от Марта 05, 2017, 14:24
Вот небольшой кусок кода. Может кому-то поможет

Код:
 QString boundary("----WebKitFormBoundary");
    QByteArray data;
    // №1
    data += "--" + boundary + "\r\n";
    data += "Content-Disposition: form-data; name=\"subject\"\r\n\r\n";
    data += "185/55 R16 Continental ContiPremiumContact\r\n";
    // №2
    data += "--" + boundary + "\r\n";
    data += "Content-Disposition: form-data; name=\"bulletin_type\"\r\n\r\n";
    data += "bulletin\r\n";


    QFile *file = new QFile("E:/Mishana!/1.png");
    file->open(QIODevice::ReadOnly);
    // add image
    data += "--" + boundary + "\r\n";
    data += "Content-Disposition: form-data; name=\"up[]\"; filename=\"1.png\"\r\n";
    data += "Content-Type: image/jpeg\r\n\r\n";
    data += file->readAll() + "\r\n";
    data += "--" + boundary + "--\r\n";

    m_jar->setCookiesFromUrl(m_cookies, SEC_REQ_ADD);
    m_setting.WriteAddReq2(m_request, data.length());

    m_reply = m_manager->post(m_request, data);

    QObject::connect(m_reply, &QNetworkReply::finished, &m_loop, &QEventLoop::quit);
    m_loop.exec();
    // №3

 :)