我一直在寻找这个问题的答案,但无法找到它。如何保证通过QNetworkAccessManager下载的文件没有损坏?
我使用QNetworkAccessManager
从Web服务器上下载文件,我想确保这个文件下载没有任何损坏。
我曾经为每个文件实现了一个校验和,但是这会变得单调乏味而且可能是不必要的。我以前只是认为腐败可能发生在QNetworkAccessManager
。 先决条件是从调用QNetworkAccessManager
的方法get()
返回的QNetworkReply
对象已发出完成的信号。
如何确保通过QNetworkAccessManager
从网络服务器下载的文件不会被破坏?
你是什么意思“损坏”的文件?你是否尝试过信号错误(error(QNetworkReply :: NetworkError))? – IAmInPLS
对不起,如果我的问题有点不清楚,假设没有发出错误信号并发出完成的信号,那么下载的文件是否保证完成? (我正在使用readyRead()信号读取下载的数据) – Phat
否,因为即使您的文件下载已损坏,始终发出完成的信号。我认为您必须检查下载的文件大小(请参阅[这里](http://doc.qt.io/qt-5/qnetworkreply.html#uploadProgress)) – IAmInPLS