すべての送信POSTデータをQtWebKitに保存しようとしています。
QNetworkReply * QNetworkAccessManager :: createRequest(Operation op、const QNetworkRequest&request、QIODeviceoutgoingData )メソッドをオーバーライドし、発信POSTデータを含むoutgoingDataを読み取ることでこれを行います。
問題は、それを読み取った後、データがQIODeviceで使用できなくなることです。
送信(PUT、POST)データを保存し、将来の内部Qt操作で使用できるようにするにはどうすればよいですか?
PUT / POSTデータを保存するために別のアプローチを使用する必要がある場合は、お知らせください。
コード例:
QNetworkReply *MyNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
{
QByteArray bArray = outgoingData->readAll();
// save bArray (that contains POST outgoing data) somewhere
// do other things, and outgoingData now has no data anymore, as it was already read to bArray
}
私が試してみました
QByteArray bArray = outgoingData->readAll();
outgoingData->write(bArray);
qDebug() << bArray;
しかし、この場合、「QIODevice :: write:ReadOnlydevice」というメッセージが表示されます。
発信POST/PUTデータをQtに保存するにはどうすればよいですか?
ありがとう。