crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> загрузка картинки на сайт методом пост multipart/form-data
eldar85
  опции профиля:
сообщение 15.10.2010, 10:47
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


никак не пойму как создать массив байтов multipart/form-data чтобы отправить картинку на сайт с помощью qnetworkaccessmanager. Кто нибудь пробывал подобное, нифига не получается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
eldar85
  опции профиля:
сообщение 16.10.2010, 20:40
Сообщение #2


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


хмм, вроде все ясно но не выходит, мне нужно сформировать подобного вида отправляемый бинарник

    curl_formadd(&post, &last,   CURLFORM_COPYNAME, "method",   CURLFORM_COPYCONTENTS, "post", CURLFORM_END);  
    curl_formadd(&post, &last,   CURLFORM_COPYNAME, "key",   CURLFORM_COPYCONTENTS, ackey.c_str(), CURLFORM_END);  
    curl_formadd(&post, &last,   CURLFORM_COPYNAME, "file",   CURLFORM_FILE, img.c_str(), CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END);


это отправка курлом, мне нужно сделать подобное методами Qt.
Сделал вот так

QByteArray array;
    array.append("-----------------------------200242615429510\r\n");
    array.append("content-disposition: ");
    array.append("method=post");
    array.append("\r\n");
    array.append("-----------------------------200242615429510\r\n");
    array.append("content-disposition: ");
    array.append("key=a1683bc4a2768f2c0jhkjhklliui15");
    array.append("\r\n");
    array.append("-----------------------------200242615429510\r\n");
    array.append("Content-Transfer-Encoding: binary\r\n");
    array.append("\r\n");
    array.append(file.readAll());
    array.append("\r\n");
    array.append("-----------------------------200242615429510--");

    qDebug() << array;
    QNetworkAccessManager* pManager = new QNetworkAccessManager();
    QNetworkReply *reply = pManager->post(request, array);
    QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
    loop.exec();
    qDebug() << reply->readAll();


но отправка получается неправельной.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 18:37