2013-05-07 40 views
1

我一直在網上尋找一種通過Javascript在瀏覽器內遞歸枚舉目錄內文件的方法。是否可以枚舉瀏覽器中的文件?

查看File API我找不到任何東西。

有人能指點我一些其他API或告訴我,如果有可能做到這一點?

+0

謝謝你的評論!我希望,因爲應用程序正在移動到瀏覽器,這種API將最終呈現出來,或者終於有了一種更便攜的方式。 – 2013-05-07 16:06:23

+0

也有關:[從Firefox擴展的文件系統訪問](http://stackoverflow.com/questions/2316708/file-system-access-from-firefox-extension)。 *此外*,除了用於瀏覽器擴展的文件系統API之外,Mozilla *還*爲Firefox OS實施了[Device Storage API](https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage)。這正是你想要的('deviceStorage.enumerate'),但API僅適用於操作系統應用程序,而不是網頁。 – apsillers 2013-05-07 16:19:04

+0

擴展機制是一個選項。但它必須在Chrome,Firefox,Opera和Safari上非常密切地工作(我不關心IE)。如果您可以指向其他可以在Chrome和Firefox上可靠運行的擴展程序,那就太棒了! – 2013-05-07 16:21:49

回答

2

Javascripts訪問本地文件是非常有限的。您無法搜索或枚舉文件,只能訪問用戶故意選擇的特定文件。

然而,你可以做的是編寫一個Java小程序(它可能必須簽名才能獲得必要的權限),它將爲你列舉並通過Javascript訪問它。這當然限制了你安裝Java的平臺和用戶,但這是你管理它的唯一方法。

+0

謝謝!猜猜我會檢查另一個選項...也許某種獨立的node.js服務器... – 2013-05-07 16:07:29

+0

Node.js不會幫助您閱讀用戶文件系統。你是否希望使用JavaScript來枚舉服務器上的文件? – romo 2013-05-07 16:14:00

+0

我必須枚舉客戶端上的文件,而不是服務器上的文件。但是我有一些奇怪的要求,那就是允許我在同一臺機器上實現和「安裝」客戶端和服務器。 – 2013-05-07 16:19:28

1

你不能這樣做。 JavaScript無權訪問文件系統。

+0

謝謝!這太糟糕了... – 2013-05-07 16:06:44

相關問題