我一直在尋找這個問題的答案,但無法找到它。如何保證通過QNetworkAccessManager下載的文件沒有損壞?
我使用QNetworkAccessManager
從Web服務器上下載文件,我想確保這個文件下載沒有任何損壞。
我曾經爲每個文件實現了一個校驗和,但是這會變得單調乏味而且可能是不必要的。我以前只是認爲腐敗可能發生在QNetworkAccessManager
。 先決條件是從調用QNetworkAccessManager
的方法get()
返回的QNetworkReply
對象已發出完成的信號。
如何確保通過QNetworkAccessManager
從網絡服務器下載的文件不會被破壞?
你是什麼意思「損壞」的文件?你是否嘗試過信號錯誤(error(QNetworkReply :: NetworkError))? – IAmInPLS
對不起,如果我的問題有點不清楚,假設沒有發出錯誤信號併發出完成的信號,那麼下載的文件是否保證完成? (我正在使用readyRead()信號讀取下載的數據) – Phat
否,因爲即使您的文件下載已損壞,始終發出完成的信號。我認爲您必須檢查下載的文件大小(請參閱[這裏](http://doc.qt.io/qt-5/qnetworkreply.html#uploadProgress)) – IAmInPLS