Я играюсь с QFtp (да .. я знаю) и все работает хорошо.
Использование кода из их собственных примеров в качестве руководства.
http://doc.qt.io/archives/qt-4.7/network-qftp-ftpwindow-cpp.html
Единственная проблема, с которой я сталкиваюсь, - это при отправке (или получении) больших файлов (скажем, 3 ГБ) индикатор выполнения гаснет.
Это связано с приведением qint64 к int в:
void FtpWindow::updateDataTransferProgress(qint64 readBytes,
qint64 totalBytes)
{
progressDialog->setMaximum(totalBytes);
progressDialog->setValue(readBytes);
}
Мне интересно, как лучше всего справиться с этим после того, как я погуглил около часа и решил сохранить его «в безопасности», убедившись, что я не выхожу за пределы диапазона.
while (totalBytes > 4294967295UL)
{
totalBytes = totalBytes/4294967295UL;
readBytes = readBytes/4294967295UL;
}
Но это не «кажется» правильным. .