Как загрузить файл на FTP сервер в Qt?

Перерыл кучу манов, но так и не нашел нужного:
Как загрузить локальный файл на удаленный FTP сервер?


У меня пока есть вот такой кусочек:

// Отправка файла по FTP<br/>
 report.open(QIODevice::ReadOnly);<br/>
<br/>
QFtp *ftp = new QFtp;<br/>
 connect(ftp, SIGNAL(done(bool)), this, SLOT(close()));<br/>
<br/>
ftp-&gt;connectToHost(&quot;10.1.2.2&quot;, 21);<br/>
 ftp-&gt;login(&quot;login&quot;, &quot;password&quot;);<br/>
 ftp-&gt;cd(&quot;REPORTS&quot;);<br/>
<br/>
//??? Вот тут по идее должен быть ftp-&gt;put()<br/>
<br/>
report.close();



Собственно report — это QFile, который и нужно загрузить на сервер.

Как правльно дописать?
  • Вопрос задан
  • 5062 просмотра
Решения вопроса 1
mik_os
@mik_os
put ожидает QIODevice, а QFile от него наследуется, значит:

ftp->put(&report, report.fileName());

У Qt очень хорошая документация, не бойтесь пользоваться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mik_os
@mik_os
The function returns a unique identifier which is passed by commandStarted() and commandFinished().

Запомнить пару файл-идентификатор, словить сигнал commandFinished, закрыть его и освободить ресурсы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы