2013-11-28 112 views
1

我正在爲桌面應用程序開發項目。我正在使用visual C++使用Qt控件。 我加載一個HTML文件中的QWebView爲,如何使用javascript獲取文件夾中的文件列表

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

現在,我想的是,比方說,我有我的位置有些.zip文件「C:\演示」,我想列表(或陣列文件名稱)存在於該目錄中的文件。

我怎樣才能通過JavaScript做到這一點?

PS:我經歷了這個link,但它不符合我的要求。我還沒有用過html,javascript和jquery。請幫幫我。

+0

不要以爲你可以..但一個解決方案是創建一個服務(例如REST),它返回你想要的文件夾中的文件列表,然後用jquery調用服務.. – codaR0y

+0

是否有任何人使用過Qt控制? Qt控制'QWebView'按預期工作,使用這個:http://www.codeproject.com/Articles/2019/Find-files-with-JavaScript –

回答

2

由於安全問題,恐怕您無法使用JavaScript訪問本地文件或目錄。

編輯:我沒有想過這個文件API,所以想了一下這可能不是真的,但沒有一些用戶輸入權限,這仍然不能完成。

This question具有PhilNicholas了良好的反響:

恐怕我可能是壞消息爲您設計的承載: 您請求明確的行動違反了作爲指定 安全模型File 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

謝謝,先生。但我不知道,IT行業發展如此之快,我們仍然面臨着沒有解決方案的問題...... :( –

1

如果它是Windows應用程序,那麼您可以通過使用ActiveX對象訪問本地文件系統。你可能會看看這個鏈接Reading a txt file from Javascript

請注意,僅當使用IE作爲瀏覽器/引擎時,纔有可能使用activeX;我以前需要它開發一個HTML應用程序(.hta文件)。

相關問題