Russian Qt Forum

Qt => Работа с сетью => Тема начата: a_goodgirl от Июнь 26, 2013, 16:01



Название: открыть с помощью QDesktopServices удаленный файл
Отправлено: 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."
Что не так?


Название: Re: открыть с помощью QDesktopServices удаленный файл
Отправлено: Ubuntu_linux от Июнь 26, 2013, 23:52
А если айпишник прописать?


Название: Re: открыть с помощью QDesktopServices удаленный файл
Отправлено: a_goodgirl от Июнь 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);

Если вставить этот же путь в адресную строку браузера, файл открывается.


Название: Re: открыть с помощью QDesktopServices удаленный файл
Отправлено: Ubuntu_linux от Июнь 27, 2013, 17:11
А если добавить file:/ в начало?
file:///Z:/videos/360.mp4


Название: Re: открыть с помощью QDesktopServices удаленный файл
Отправлено: a_goodgirl от Июнь 27, 2013, 19:05
пробовала, с разным количеством слешей