我正在使用 QNetworkAccessManager::get 下载文件,但与 QHttp::get 不同的是,没有内置方法可以直接将响应写入不同的 QIODevice。
最简单的方法是做这样的事情:
QIODevice* device;
QNetworkReply* reply = manager.get(url);
connect(reply, SIGNAL(readyRead()), this, SLOT(newData()));
然后在 newData 槽中:
device->write(reply->readAll());
但我不确定这是否是正确的方法,也许我错过了什么。
最佳答案
看起来是正确的。我会使用 read()
和 write()
的低级形式,而不是 QByteArray
形式,后者不正确支持错误处理, 但除此之外,它看起来还不错。
您遇到问题了吗?
关于c++ - 将 QNetworkReply 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1205419/