这是我在这里的第一篇文章,我对Qt相当陌生。如何设置QNetworkReply的内容
我正在使用Qwebkit为了加载网页,我感兴趣的不是从网上完全加载一些资源。具体而言,我试图只获取jpg文件的大小,而不是从jpg的二进制数据(不是HTML标记)中获取图像数据。这样做,我已经重新实现QNAM的的createRequest方法做如下:
QNetworkReply *NetworkAccessManager::createRequest(Operation op,const QNetworkRequest & req,QIODevice * outgoingData)
{
if (req.url().path().endsWith("jpg"))
{
CustomReply *reply = new CustomReply(QNetworkAccessManager::createRequest(op, req, outgoingData));
return reply->getQNR();
}else{
return QNetworkAccessManager::createRequest(op, req, outgoingData);
}
}
然后我在CustomReply类未来的数据追加到一个QByteArray中连接一些信号,那么我处理的QByteArray到看看我是否有我正在寻找的marker。现在我在这里我不知道如何继续。在此之后我想要做的是关闭连接(不要下载更多)并将回复与通过CustomReply :: getQNR()收到的数据进行传递。我需要实现一个函数来设置我的答复的内容,我存储的QByteArray,我已经阅读this和that,但无法解决我的问题。
预先感谢您。
你能更具体地说明为什么这些链接没有帮助你吗?它看起来像原始QNetworkReply的代理(正如你的第二个链接的答案中所见)是你想要的。您不能将新数据放入现有答复对象中,您需要创建自己的实现并从createRequest()返回。要关闭连接,请调用QNetworkReply :: abort()。 – 2012-08-13 12:44:23