0

この質問は QNetworkAccessManager - How to send “PATCH” request を補足します。

QNetworkAccessManager にはメソッドがありません

sendCustomRequest(const QNetworkRequest & request, const QByteArray & verb, QHttpMultiPart * multiPart)

私は Qt 4.8-bb10 で立ち往生しています。どのように進めればよいですか?

4

1 に答える 1

0

以下のように余分な部分をデータに入れることで、マルチパートリクエストを自分で構築できると思います。

申し訳ありませんが、テストできなかったので、これは大まかな考えです。

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);
于 2016-02-28T15:43:10.257 に答える