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

 :)