QFtp, как закачать файл? |
Здравствуйте, гость ( Вход | Регистрация )
QFtp, как закачать файл? |
SABROG |
5.6.2009, 14:33
Сообщение
#11
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Насколько я помню fileName будет содержать не имя файла, а полный путь к файлу вместе с именем. Получается ты пытаешься создать на фтп файл вида "c:\windows\system32\xcopy.exe"
|
|
|
PunX |
5.6.2009, 14:38
Сообщение
#12
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да, fileName содержит полный путь до файла, но как тогда выделить имя файла и сделать правильную загрузку?
|
|
|
SABROG |
5.6.2009, 14:50
Сообщение
#13
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
Правда у меня есть некоторые сомнения насчет таких вещей как. Нужно ли указывать путь на сервере типа "/filename.ext", типа root директория. И возвращает ли put() управление в программу моментально или ждет пока весь файл загрузится. Если первое (т.е. как и QHttp), то QFile должен создаваться не на стеке, а в куче (через new). Сообщение отредактировал SABROG - 5.6.2009, 14:54 |
|
|
Litkevich Yuriy |
5.6.2009, 15:39
Сообщение
#14
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
PunX |
5.6.2009, 16:17
Сообщение
#15
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
Делаю
QString fileName = QFileDialog::getOpenFileName(this); QFileInfo fi(fileName); QFile upfile (fi.fileName()); ftp->put( &upfile, fi.fileName()); но опять же загрузка не идёт |
|
|
kwisp |
5.6.2009, 16:43
Сообщение
#16
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
И возвращает ли put() управление в программу моментально или ждет пока весь файл загрузится. Если первое (т.е. как и QHttp), то QFile должен создаваться не на стеке, а в куче (через new). так и есть. управление возвращается а по окончании действия сигнал void QFtp::commandFinished ( int id, bool error ) [signal] |
|
|
SABROG |
5.6.2009, 16:44
Сообщение
#17
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
QFile upfile (fi.fileName()); Я же тебе не говорил использовать QFileInfo для QFile. Ты обрезал путь к файлу и пытаешься загрузить файл из текущей рабочей директории, а его там наверняка нет. Сделай так:
А, еще его открыть наверно надо через QFile::open() Сообщение отредактировал SABROG - 5.6.2009, 17:11 |
|
|
Litkevich Yuriy |
5.6.2009, 17:06
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Если первое (т.е. как и 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() тоже
|
|
|
PunX |
5.6.2009, 17:43
Сообщение
#19
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
Можете привести пример с аплоадом файла?
|
|
|
PunX |
5.6.2009, 19:52
Сообщение
#20
|
Студент Группа: Участник Сообщений: 56 Регистрация: 12.4.2009 Из: Димитровград Пользователь №: 676 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всё собрал в одно и получилось вот такое вот:
Но всёравно файл не копируется на фтп... |
|
|
Текстовая версия | Сейчас: 26.11.2024, 20:09 |