所以我有一個基本的輸入類型"file"
但是我希望用戶能夠選擇文件夾位置而不是文件。如何從HTML輸入類型「文件」或任何其他方式獲取文件夾目錄?
我怎樣才能得到這個輸入來選擇一個文件夾而不是一個文件,或者有另一種方式來做到這一點?
所以我有一個基本的輸入類型"file"
但是我希望用戶能夠選擇文件夾位置而不是文件。如何從HTML輸入類型「文件」或任何其他方式獲取文件夾目錄?
我怎樣才能得到這個輸入來選擇一個文件夾而不是一個文件,或者有另一種方式來做到這一點?
您很可能正在使用flash/silverlight/activeX控件。 <input type="file" />
控件不處理該問題。
如果您不介意用戶選擇文件作爲獲取其目錄的手段,那麼您可能會綁定到該控件的change
事件,然後剝離文件名部分並將路徑保存到某處 - 但這是關於好,因爲它得到。
請記住,網頁旨在與服務器進行交互。沒有關於提供本地目錄到遠程服務器的「典型」(服務器無法訪問它,所以爲什麼要問它)?但是文件是有選擇地傳遞信息的手段。
無意中發現這個頁面上爲好,然後發現這是可能的只是JavaScript的(如ActiveX或Flash無插件),但只是在鍍鉻:
https://plus.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
基本上,他們增加了對支持文件輸入元素「webkitdirectory」上的新屬性。您可以使用它像這樣:
<input type="file" id="ctrl" webkitdirectory directory multiple/>
它可以讓你選擇的目錄。對於支持多文件選擇但不支持目錄選擇的瀏覽器來說,多屬性是一個很好的回退。
當您選擇一個目錄時,文件可以通過控件的dom對象(document.getElementById('ctrl'))獲得,就像它們具有multiple屬性一樣。瀏覽器遞歸地將所選目錄中的所有文件添加到該列表中。
您已經可以添加目錄屬性,以及在此情況下,得到在某個時刻標準化(找不到任何信息有關該)
儘管它已經是一個老問題,這可能會幫助別人。
我們可以選擇多個文件,而你爲什麼會選擇保存的文件夾位置使用「多重」
<input type="file" name="datafile" size="40" multiple>
瀏覽一個文件? – hjpotter92
您是否嘗試上傳選定文件夾中的所有文件? –
問題是,一旦你得到它,你將如何處理文件夾?你想上傳文件夾中的所有文件嗎?或者對文件夾做其他事情?瀏覽器通常無法直接對文件夾執行任何操作,因此除非您計劃上傳內容,否則不需要太多邏輯來指定文件夾。 – Spudley