Здравствуйте, гость ( Вход | Регистрация )
Ov3r1oad | Дата 21.12.2011, 18:13 |
Собственно, время идёт, а проблемы остаются те же. file = new QFile(ToQString("/home/vdi/123.log")); if ((file->exists()) && file->open(QIODevice::ReadOnly)) { label_status->setText(file->fileName()); } ftp->put(file, file->fileName()); Простейший код, однако записать файл на фтп-сервер не получается. ftp->ErrorString выдаёт следующее: "Uploading file failed. File write error". Сервер - GuildFTPd, стоит на винде. А клиент пишу на убунте. Ошибка в клиенте, или сервак неправильно настроен? Да, и что конкретно делает ftp->list()? |
|
kwisp | Дата 5.6.2009, 22:13 |
Но всёравно файл не копируется на фтп... а зачем ты его закрыл файл то? закрывай когда закачаешь. |
|
SABROG | Дата 5.6.2009, 21:21 |
Цитата upfile->close(); Убери это, файл будет заливаться на фтп в момент работы приложения. |
|
Litkevich Yuriy | Дата 5.6.2009, 20:13 |
Но всёравно файл не копируется на фтп... А у тебя он иным способом копируется, файловым менеджером например? |
|
PunX | Дата 5.6.2009, 19:52 |
Всё собрал в одно и получилось вот такое вот:
Но всёравно файл не копируется на фтп... |
|
PunX | Дата 5.6.2009, 17:43 |
Можете привести пример с аплоадом файла? | |
Litkevich Yuriy | Дата 5.6.2009, 17:06 |
Если первое (т.е. как и QHttp), то QFile должен создаваться не на стеке, а в куче (через new). ты совершенно прав:Цитата Make sure that the dev pointer is valid for the duration of the operation (it is safe to delete it when the commandFinished() is emitted). и тут А, еще его открыть наверно надо через QFile::open() тоже |
|
SABROG | Дата 5.6.2009, 16:44 |
QFile upfile (fi.fileName()); Я же тебе не говорил использовать QFileInfo для QFile. Ты обрезал путь к файлу и пытаешься загрузить файл из текущей рабочей директории, а его там наверняка нет. Сделай так:
А, еще его открыть наверно надо через QFile::open() |
|
kwisp | Дата 5.6.2009, 16:43 |
И возвращает ли put() управление в программу моментально или ждет пока весь файл загрузится. Если первое (т.е. как и QHttp), то QFile должен создаваться не на стеке, а в куче (через new). так и есть. управление возвращается а по окончании действия сигнал void QFtp::commandFinished ( int id, bool error ) [signal] |
|
PunX | Дата 5.6.2009, 16:17 |
Делаю QString fileName = QFileDialog::getOpenFileName(this); QFileInfo fi(fileName); QFile upfile (fi.fileName()); ftp->put( &upfile, fi.fileName()); но опять же загрузка не идёт |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 25.4.2024, 20:30 |