Estoy descargando un archivo usando QNetworkAccessManager :: get pero a diferencia de QHttp :: get no hay una forma incorporada de escribir directamente la respuesta a un QIODevice diferente.Escribiendo un QNetworkReply en un archivo
La forma más sencilla sería la de hacer algo como esto:
QIODevice* device;
QNetworkReply* reply = manager.get(url);
connect(reply, SIGNAL(readyRead()), this, SLOT(newData()));
y luego en la ranura newData:
device->write(reply->readAll());
Pero no estoy seguro de si este es el camino correcto, tal vez perdido algo
no he encontré con ningún problema hasta ahora, pero me preocupa que si tengo una gran cantidad de descargas paralelas, toda esta operación puede causar un cuello de botella. –
Poco probable, pero posible. Puede optimizar utilizando una pila 'char buffer [4098]' para evitar el 'malloc() s' involucrado en la creación' QByteArray'. También hay 'QVarLengthArray'. –
Sí, eso es lo que hice con la matriz de caracteres local. gracias por tu ayuda. –