2012-10-23 36 views
4

我想讓用戶選擇一個目錄(我在其中解析一些文本文件),並將result(List<File>)存儲在同一個客戶端的PERSISTENT存儲中,以便當用戶返回時,不需要選擇相同的目錄再次。如何存儲輸入(webkit目錄)的結果供以後使用?

在會話期間選擇目錄(通過<input webkitdirectory="..." />),然後訪問目錄並解析文件已經正常工作,但我不知道要保存什麼樣的數據以便稍後檢索。我嘗試過使用window.webkitResolveLocalFileSystemURL(),但目前爲止還沒有成功......任何想法?

+0

如果你詳細說明了一些細節,這會很有幫助。 –

+0

預期的工作流程如下:我只關注* re * - 訪問所選目錄中的文件 – rudy

+0

除非a)文件位於本地存儲中,否則不能這樣做b)選擇相同的目錄。對不起,我沒有制定規則,我只是把它們指出來;) –

回答

4

好了,讓你在使用類似:

<input type="file" id="file-input" webkitdirectory="" directory=""> 

這讓用戶上傳的目錄。粗略地說,下面是獲取上傳文件列表的代碼:

query("#file-input").on.change.add((e) { 
    print(e.target.files); 
}); 

聽起來你已經想出了那部分。

真的,你只是得到一個文件列表。我看着e.target,我不認爲這裏有什麼與目錄本身有關的東西。例如,我沒有看到有關目錄名的任何信息,也不像你突然擁有對該目錄的寫入權限。在下次用戶加載頁面時,您也無法從該目錄上傳文件,而無需再次選擇該目錄。

但是,您可以做的是從該目錄上傳文件,並使用本地文件存儲在本地保存這些文件的副本

參見:

順便說一句,我知道我是不是能夠達到你想要什麼,但如果你同意我的回答,請接受它。如果我在Stack Overflow上回答100個問題,我的老闆答應給我買一隻小狗;)

+0

嗨香農,謝謝你的答覆,不幸的是它不會帶來任何進一步的,因爲避免上傳文件正是我正在尋找,但感謝您的時間:-) – rudy

+0

您不必上傳文件到服務器。 「使用HTML5文件系統API」p。 20-21顯示瞭如何將文件複製到本地存儲。因此,您不必將文件實際上傳到服務器,但不能只讀取/寫入用戶硬盤上的任何位置。我希望能夠解決問題。 –

相關問題