Russian Qt Forum

Qt => Работа с сетью => Тема начата: unknownnick от Август 16, 2017, 23:05



Название: Помогите с post запросом
Отправлено: unknownnick от Август 16, 2017, 23:05
Код:
  QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
  QHttpPart zipPart;
  zipPart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/octet-stream"));
  zipPart.setHeader(QNetworkRequest::ContentDispositionHeader,
                        QVariant("form-data; name=\"file\";  filename=\"test.zip\""));
  QFile *file = new QFile("C:\\Temp\\test.zip");
  file->open(QIODevice::ReadOnly);
  zipPart.setBodyDevice(file);
  file->setParent(multiPart);
  multiPart->append(zipPart);

  QUrl url("http://localhost:8080/import");
  QNetworkRequest request(url);
  QNetworkAccessManager * manager = new QNetworkAccessManager();
  ....
  QNetworkReply *reply = manager->post(request, multiPart);
  ...
код отправляет на сервер архив. Сервер на java.
Код:
@RestController
public class ImportGateway
{
@ResponseBody
@RequestMapping(method = RequestMethod.POST)
public String foo(@RequestParam MultipartFile file)
{
return file.getOriginalFilename();
}
}
Затем код сервера поменяли, добавив еще 1 параметр.
Код:
  public String foo(
                   @RequestParam String test,
                   @RequestParam MultipartFile file)
Подскажите, как теперь сформировать post запрос?


Название: Re: Помогите с post запросом
Отправлено: Bepec от Август 18, 2017, 13:45
Мб поможет?

https://forum.qt.io/topic/56708/solved-qnetworkaccessmanager-adding-a-multipart-form-data-to-a-post-request