Russian Qt Forum
Апрель 25, 2024, 09:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Копирование файла из локальной сети  (Прочитано 6681 раз)
alexorleon
Гость
« : Май 30, 2016, 09:54 »

День добрый!

Подскажите каким способом в Qt5 скопировать файл из локальной сети?
Не пойму как указать нужный каталог в локальной сети. В какую сторону вообще копать?

Собственно хотелось периодически проверять некий каталог в сети на наличие файлов. Можно ли это сделать просто с помощью QFile например? Или необходимо создавать ftp сервер?
« Последнее редактирование: Май 31, 2016, 08:14 от alexorleon » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Май 30, 2016, 11:37 »

Файл находится на http/https?
Записан

PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #2 : Май 30, 2016, 11:49 »


Собственно хотелось периодически проверять некий каталог в сети на наличие файлов. Можно ли это сделать просто с помощью QFile например? Или необходимо создавать ftp сервер?

bool QFileInfo::exists(const QString &file)
Записан
alexorleon
Гость
« Ответ #3 : Май 30, 2016, 12:12 »

Файл находится на http/https?
smb://путь/к файлу/файл
Записан
alexorleon
Гость
« Ответ #4 : Май 30, 2016, 12:15 »

bool QFileInfo::exists(const QString &file)

Пробовал так. Пишет NOT.
Код:
if(QFile("smb://путь/к файлу/s3.zip").exists()){
    qDebug() << "YES";
} else {
    qDebug() << "NOT";
}
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #5 : Май 30, 2016, 12:41 »

bool QFileInfo::exists(const QString &file)

Пробовал так. Пишет NOT.
Код:
if(QFile("smb://путь/к файлу/s3.zip").exists()){
    qDebug() << "YES";
} else {
    qDebug() << "NOT";
}


Специально проверил

Код:
    QFile file("//192.168.77.3/Users/Public/test.png");

    if (file.exists())
        qDebug() << "EXIST";
    else
        qDebug() << "NOT EXIST";

Ответ: EXIST

При отсутствии файла: NOT EXIST

Ошибка думаю где-то тут
Цитировать
"smb://путь/к файлу/s3.zip"
« Последнее редактирование: Май 30, 2016, 12:44 от PimenS » Записан
alexorleon
Гость
« Ответ #6 : Май 31, 2016, 08:08 »

Ответ как оказалось лежит на поверхности.
"QFile does not support non-local files."

Для этого необходимо монтировать локальный ресурс.

Создал каталог linky_share. Далее:
sudo mount -t cifs -o user=имя_пользователя //IP_адрес/путь/каталог /mnt/linky_share/

Теперь QFile может спокойно с этим работать.
Записан
alexorleon
Гость
« Ответ #7 : Май 31, 2016, 08:13 »

Ошибка думаю где-то тут
Цитировать
"smb://путь/к файлу/s3.zip"

Пишут так работает только под windows. Вроде бы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.134 секунд. Запросов: 23.