2012-02-10 98 views
1

提交我的問題似乎很奇怪,我很想建議,如果你有更好的方法去了解我在做什麼:Localhost web-app。獲取完整的路徑在瀏覽器

我運行本地Web服務器與瓶python的web框架。我正在使用jQuery,HTML和CSS將圖形前端寫入我的「應用程序」,並在瀏覽器中導航到本地主機的地址(firefox)。 我這樣做是因爲我想要html和css提供的靈活性來設計用戶界面,比如QT和PyQt等工具提供的功能。

下面是問題: 我的應用程序的一個重要組成部分是獲取程序將在其上運行的磁盤上的文件的完整路徑。爲了不讓用戶在整個時間輸入完整的路徑,我希望有一個文件選擇對話框填寫它們。但是,出於安全原因,我一直在閱讀這篇文章,但瀏覽器不會允許完整的路徑通過。

我知道一個文件的完整路徑永遠不會在一個普通的服務器端客戶端中有用,但在這種情況下,服務器和客戶端是相同的,我不關心那個安全方面。

我以愚蠢的方式接近這個問題嗎?有沒有辦法讓文件瀏覽器返回所選文件的完整路徑?或者我需要完全找到另一條路徑?

謝謝! 墨菲

回答

2

一種方法是與您的服務器通信;您的客戶端將以「home」(或空字符串)的路徑開始,並且服務器將返回物理路徑(「c:\ users \ me」或「/ home/me」),以及子文件夾和文件列表文件夾...然後,如果你給服務器任何其他路徑,它會返回有關其他路徑的信息。棘手的部分是在系統中出現新的掛載或驅動器時發出通知(USB密鑰等)。

然後,您可以使用完全特權服務器爲您提供的信息在客戶端創建文件選擇器。實際上,如果使用正確的JS庫,編碼並不會很難,而且它是由各種項目完成的,但問題(除了額外的工作)是因爲與系統文件選擇器相比,文件選擇器看起來不合適用戶習慣於。

+0

謝謝,Emmanuel!我現在已經學會了如何做,但如果其他人有類似的問題,這對未來的參考很有用。 – splodingsocks 2013-09-08 04:29:09

+0

你能解釋一下你是如何做到的,並將其添加爲答案? – blackirishman 2017-01-22 05:44:32

+0

@blackirishman我現在重讀,不知道要添加什麼。這是非常多的。 – 2017-01-22 13:00:07