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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: открыть с помощью QDesktopServices удаленный файл  (Прочитано 3011 раз)
a_goodgirl
Гость
« : Июнь 26, 2013, 16:01 »

Здравствуйте!
Нужно открыть файл по сети.
Если имя файла, например,
Код:
path = С:/Projects/TextReport.html
на локальной машине, то
Код:
QDesktopServices::openUrl(QUrl::fromLocalFile(path));
работает.

Если же
Код:
path = //ABBA-LINUX/Projects/TextReport.htm
, где ABBA-LINUX - имя компьютера, то возвращается false.
В браузеры этот удаленный файл вставляется со адресной строкой то file://ABBA-LINUX/..., или file://///ABBA-LINUX/... . Попытки прописать подобный path руками ничего не дают.
В Qt написано что-то о "Some desktop environments are configured to prevent users from executing files obtained from non-local URLs, or to ask the user's permission before doing so."
Что не так?
Записан
Ubuntu_linux
Гость
« Ответ #1 : Июнь 26, 2013, 23:52 »

А если айпишник прописать?
Записан
a_goodgirl
Гость
« Ответ #2 : Июнь 27, 2013, 13:45 »

IP адрес определяется программно. Пишу для отладки:
Код:
QDesktopServices::openUrl(QUrl::fromLocalFile("\\\\172.21.67.103\\projectdata\\TestBI5\\Reports\\TextReports\\TextReport\\TextReport.html"));
Ничего не работаеть. Смотреть в отладчике  - ShellExecute возвращает 2.

Код:
quintptr returnValue = (quintptr)ShellExecute(0, 0, (wchar_t*)filePath.utf16(), 0, 0, SW_SHOWNORMAL);

Если вставить этот же путь в адресную строку браузера, файл открывается.
Записан
Ubuntu_linux
Гость
« Ответ #3 : Июнь 27, 2013, 17:11 »

А если добавить file:/ в начало?
file:///Z:/videos/360.mp4
Записан
a_goodgirl
Гость
« Ответ #4 : Июнь 27, 2013, 19:05 »

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


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