2013-11-28 3 views
1

Я работаю над проектом для настольных приложений. Я использую элементы управления Qt с визуальным C++. Я загрузка HTML-файл в QWebView, как,как получить список файлов в папке с помощью javascript

m_pWebView->load(QUrl("../../../demo/index_Splash_Screen.html")); 

Теперь, что я хочу, скажем, у меня есть некоторые .zip файлов в моем местоположении «C: \ DEMO», я хочу, список (или массив имена файлов) файлов, присутствующих в этом каталоге.

Как я могу это сделать через javascript?

PS: Я прошел через это link, но это не соответствовало моему требованию. Я не работал с html, javascript и jquery. Пожалуйста, помогите мне.

+0

Dont think u can .. но решение заключается в создании службы (например, REST), которая возвращает список файлов в нужную вам папку, а не вызов службы с помощью jquery .. – codaR0y

+0

У кого-нибудь есть опыт работы с Qt контроля? Будет ли Qt управлять 'QWebView' работать, как ожидалось, используя это: http://www.codeproject.com/Articles/2019/Find-files-with-JavaScript –

ответ

2

Боюсь, что вы не можете получить доступ к локальным файлам или каталогам, используя javascript из-за проблем с безопасностью.

Редактировать: Я не думал о файле api, так что подумал, что это может быть неверно, но без какого-либо пользовательского ввода, чтобы дать разрешение, этого все еще не может быть сделано.

This question имеет хороший отклик от PhilNicholas:

Я боюсь, что может быть носителем плохие новости для вашего дизайна: Действие вы запрашиваете явно нарушает модель безопасности, как указано в Спецификация API файлов. Клиентская реализация FileReader() должна убедиться, что «все файлы, которые считываются объектами FileReader , были выбраны пользователем». (W3C File API, 13. Безопасность Соображения: http://www.w3.org/TR/FileAPI/#security-discussion).

Это был бы большой риск для безопасности сценариев браузера, который мог бы только произвольно открыть и прочитать любой файл с пути без какого-либо пользователя. взаимодействия. Ни один производитель браузеров не разрешил бы неограниченный доступ к всей файловой системе.

Думая об этом, однако, если все это выполняется локально, вы можете использовать ajax для запроса сценария на стороне сервера, который может вернуть запрошенный вами каталог.

+0

Знаете ли вы, что Qt-контроль' QWebView' работает должным образом, используя это : http://www.codeproject.com/Articles/2019/Find-files-with-JavaScript? –

+0

Я не мог прокомментировать это, к сожалению, но поскольку Qt кросс-платформенная ориентировка, я предполагаю, что основным механизмом рендеринга, вероятно, является Webkit. В этом случае я сомневаюсь, что он будет работать согласно этой ссылке, «ваш браузер должен иметь доступ для запуска объектов ActiveX», и я думаю, что это выходит за рамки возможностей Webkit. – Alfie

+0

Спасибо, сэр. Но я удивляюсь, что ИТ-индустрия растет так быстро, но мы сталкиваемся с проблемами, которые не имеют решений ... :( –

1

Если это приложение Windows, вы можете получить доступ к локальной файловой системе с помощью объектов ActiveX. Вы можете взглянуть на эту ссылку Reading a txt file from Javascript

Обратите внимание, что использование activeX возможно только при использовании IE в качестве браузера/движка; Мне это понадобилось некоторое время назад для разработки HTML-приложения (файлы .hta).

Смежные вопросы