Суть в том что вроде бы заголовок сформировал если верить сниферу, но при попытке отправить файл в ответ получаю Bad Request.
_header = GetUploadHeader(urlHost, reqStr), _photos[0]);
_httpId = request(_header, _byteTosend);
_loop.exec();
QHttpRequestHeader GetUploadHeader(QString urlHost, const QString &request, const QString filePath)
{
_byteTosend.clear();
QFile userfile(filePath);
if (!userfile.open(QFile::ReadOnly))
{
QMessageBox::information(0, "File Upload error",
QString("Unable to open the file %1: %2.").arg(filePath).arg(userfile.errorString()));
}
setHost(urlHost, QHttp::ConnectionModeHttp);
QHttpRequestHeader header("POST", request);
header.setValue("Host", urlHost);
header.setValue("Content-type", "multipart/form-data; boundary=---------------------------21974107111333");
header.setValue("Cache-Control", "no-cache");
header.setValue("Connection","Keep-Alive");
_byteTosend.append("-----------------------------21974107111333\r\n");
_byteTosend.append("content-disposition: form-data; name=\"st.filename\"; filename=\""+
filePath+"\""+
"\r\nContent-Type: image/jpeg\r\n\r\n");
_byteTosend.append(userfile.readAll());
_byteTosend.append("\r\n-----------------------------21974107111333--\r\n");
userfile.close();
header.setContentLength(_byteTosend.length());
return header;
}
Может я POST запрос сам формирую не правильно? Вот форма по которой происходит отправка файла:
<input value="Загрузить фотографию" onclick="..." type="submit" name="button_upload">
<input value="" id="field_filename" type="file" name="st.filename">
<form action="http://u10.odnoklassniki.ru/uploadImage?photoId=
jQa5VZyH5Xexs9SflOKHqNBJSBy75R7Dttt0xIGyw2Gw7wP0wTzpWTrnDJL5h%2FN8Dfj4Ylo8PdqO%0AHZ3aNMfoyFSAJ5bFOE5bOZ21sqnk3c0=
&returnUrl=http://wg24.odnoklassniki.ru/dk
?st.cmd=userEditPhoto
&st.photoIds=176090490981
&st.action=EditComment
&st.referer=userPersonalPhotos
&returnErrorUrl=http://wg24.odnoklassniki.ru/dk
?st.cmd=userAddPhoto
&st.referer=userPersonalPhotos" method="post" enctype="multipart/form-data">
Я в пост запросе указываю только эту строку как есть ничего не дописывая. Помогите кто чем может