Я думаю, что вы можете построить запрос multipart самостоятельно, добавив дополнительные данные в данные, как показано ниже.
Извините, но я не смог протестировать, так что это всего лишь приблизительная идея.
QUrl url("http://data.mybusiness.com/patches");
QNetworkRequest request(url);
QString boundary("------------------------------------asdfyiuqwer762345");
request.setRawHeader("Content-Type", QByteArray("multipart/form-data; boundary=").append(boundary));
QByteArray data;
data.append("--" + boundary + "\r\n");
data.append("Content-Disposition: form-data; name=\"City\"\r\n");
data.append("\r\n");
data.append("Paris\r\n");
data.append("--" + boundary + "\r\n");
data.append("Content-Disposition: form-data; name=\"Country\"\r\n");
data.append("\r\n");
data.append("Canada\r\n");
data.append("--" + boundary + "--\r\n");
/* Final boundary has extra -- at end */
QBuffer * pBuffer = new QBuffer(pNetworkAccessManager);
pBuffer->setData(data);
QNetworkReply * pReply = pNetworkAccessManager->sendCustomRequest(request, "PATCH", pBuffer);
Thanks mjk99! Я использовал вашу технику для реализации того, что мне было нужно, и она работала безупречно! Немного более громоздко, но все же выполнимо. –
Отлично! Я рад, что это было достаточно близко, чтобы понять это. Обычно мне приходится возиться с новыми символами, чтобы заставить его работать. Конечно, вы можете отправлять любые типы данных, а не только текст. – mjk99