Я искал ответ на этот вопрос, но не смог его найти.Как гарантировать, что файлы, загруженные через QNetworkAccessManager, не повреждены?
Я использую QNetworkAccessManager
для загрузки файла с веб-сервера, и я хочу, чтобы этот файл загружался без какой-либо коррупции.
Я как-то внедрил контрольную сумму для каждого файла, но это может стать утомительным и может оказаться ненужным. Ранее я предполагал, что коррупция может произойти с QNetworkAccessManager
. Предпосылкой является то, что объект QNetworkReply
, возвращенный из вызова метода QNetworkAccessManager
get()
, выдал готовый сигнал.
Как я могу убедиться, что файлы, загруженные с веб-сервера через QNetworkAccessManager
, не будут повреждены?
Что вы подразумеваете под «поврежденным» файлом? Пробовал ли вы сигнал 'error (ошибка (QNetworkReply :: NetworkError)?? – IAmInPLS
Извините, если мой вопрос был несколько неясным. Предположим, что сигнал ошибки не испущен, а готовый сигнал испущен, загружен ли файл, который затем будет завершен? (Я использую сигнал readyRead() для чтения загруженных данных) – Phat
Нет, потому что готовый сигнал всегда испускается, даже если ваша загрузка файла была повреждена. Думаю, вам нужно проверить размер загружаемого файла (см. [ здесь] (http://doc.qt.io/qt-5/qnetworkreply.html#uploadProgress)) – IAmInPLS