Writing a QNetworkReply to a file


Question

I'm downloading a file using QNetworkAccessManager::get but unlike QHttp::get there's no built-in way to directly write the response to a different QIODevice.

The easiest way would be to do something like this:

QIODevice* device;

QNetworkReply* reply = manager.get(url);
connect(reply, SIGNAL(readyRead()), this, SLOT(newData()));

and then in newData slot:

device->write(reply->readAll());

But I'm not sure if this is the right way, maybe I missed something.

1
10
7/30/2009 9:16:00 AM

Accepted Answer

That looks correct. I would use the lower-level forms of read() and write(), not the QByteArray ones, which do not properly support error handling, but other than that, it looks fine.

Are you having problems with it?

7
7/30/2009 12:18:50 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon