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, 22:54
Сообщение #2


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

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

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




Репутация:   0  


QNetworkRequest request;
    QEventLoop loop;
    
    
    QFile file("c:/8788.jpg");
    if(!file.open(QIODevice::ReadOnly)) {qDebug() << "error"; return 1;}
    
    
    request.setRawHeader("Host", "yoursait.com");
    request.setUrl(QUrl("http://yoursait.com/in.php"));
    request.setRawHeader("Content-Type", "multipart/form-data; boundary=---------------------------200242615429510");
    
    
    QByteArray array;
    array.append("-----------------------------200242615429510\r\n");
    array.append("Content-disposition: ");
    array.append("form-data; name=\"method\"\r\n");
    array.append("\r\n");
    array.append("post");
    array.append("\r\n");
    array.append("-----------------------------200242615429510\r\n");
    array.append("Content-disposition: ");
    array.append("form-data; name=\"key\"\r\n");
    array.append("\r\n");
    array.append("a1683bc4jhkjhkhkgutiuftsdrsr62dkiu");
    array.append("\r\n");
    array.append("-----------------------------200242615429510\r\n");
    array.append("-----------------------------200242615429510\r\n");
    array.append("Content-disposition: ");
    array.append("form-data; name=\"file\"; filename=\"img.jpg\"\r\n");
              array.append("Content-Type: image/jpeg");
    array.append("\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();
    
    return 0;


вот в таком виде все работает отлично)) спасибо за помощь)

Сообщение отредактировал eldar85 - 17.10.2010, 8:01
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 25.11.2024, 20:46