QFtp, как закачать файл? |
Здравствуйте, гость ( Вход | Регистрация )
QFtp, как закачать файл? |
Sam |
16.1.2008, 16:51
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: 0 |
Делаю так:
Но файл почему-то не появляется на ftp. И еще не могу найти как сменить директорию, в которую нужно сохранить файл. |
|
|
archimed7592 |
16.1.2008, 17:04
Сообщение
#2
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
Нужно дожидаться сигнала done.
|
|
|
Sam |
16.1.2008, 17:13
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: 0 |
Не понял как в моем случае его дождаться?
|
|
|
archimed7592 |
16.1.2008, 17:21
Сообщение
#4
|
Участник Группа: Участник Сообщений: 127 Регистрация: 27.12.2007 Из: Moscow Пользователь №: 56 Спасибо сказали: 0 раз(а) Репутация: 0 |
Как в твоём - не знаю. Примитивный пример(правда с HTTP):
CODE // main.hpp #ifndef main_hpp_included #define main_hpp_included #include <ostream> #include <iostream> #include <QObject> #include <QHttp> class Test : public QObject { Q_OBJECT public: Test(QObject *parent = 0) : QObject(parent) { connect(&http, SIGNAL(sslErrors ( const QList<QSslError> & )), &http, SLOT(ignoreSslErrors ())); connect(&http, SIGNAL(done ( bool )), this, SLOT(done ( bool ))); /// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< } QHttp http; private slots: void done(bool error) { std::cout << "done(" << error << ")" << std::endl; emit allDone(); } signals: void allDone(); }; #endif /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // main.cpp #include <ostream> #include <iostream> #include <QtCore> #include <QtNetwork> #include <main.hpp> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); Test test; QObject::connect(&test, SIGNAL(allDone()), &app, SLOT(quit())); std::cout << "hi from main" << std::endl; test.http.setHost("gmail.com", QHttp::ConnectionModeHttps); test.http.get("/"); return app.exec(); } |
|
|
Sam |
16.1.2008, 17:26
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 15 Регистрация: 28.11.2007 Пользователь №: 28 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, попробую разобраться...
|
|
|
Гость_Alexandr_* |
26.1.2008, 21:12
Сообщение
#6
|
Гости |
Все просто. класс QFtp работает асинхронно. те он еще только с сервером начинает соединяться, а у тебя уже файл закрыт. тебе надо дождаться записи, как сказано выше и только потом закрыть файл. я на эту тему скоро заметку напишу на qt-rus.wikidot.com
|
|
|
Гость_Alexandr_* |
27.1.2008, 15:40
Сообщение
#7
|
Гости |
|
|
|
PunX |
5.6.2009, 13:31
Сообщение
#8
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
День добрый, есть такой вопрос, я получаю имя и путь файла через:
Как теперь загрузить этот файл на фтп? |
|
|
SABROG |
5.6.2009, 13:39
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Открыть этот файл через QFile и передать в метод int QFtp::put ( QIODevice * dev, const QString & file, TransferType type = Binary )
|
|
|
PunX |
5.6.2009, 14:01
Сообщение
#10
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сделал таким вот образом, но фал не появляется на фтп
П.С. извините за глупые вопросы |
|
|
Текстовая версия | Сейчас: 29.11.2024, 18:25 |