【发布时间】:2011-03-27 16:29:59
【问题描述】:
我正在尝试将所有传出的 POST 数据保存在 QtWebKit 中。
我使用重写 QNetworkReply *QNetworkAccessManager::createRequest(Operation op, const QNetworkRequest &request, QIODevice outgoingData) 方法并读取包含传出 POST 数据的传出数据。
问题是读取后,数据在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: ReadOnly device”消息。
如何在 Qt 中保存传出的 POST/PUT 数据?
谢谢。
【问题讨论】:
-
您能否在您的问题中添加有关您需要这些数据用于什么目的的信息?给我们更广阔的视野。