2010-04-16 67 views
2

我正在從用戶獲取文本文件,然後使用ajax將該文件發回瀏覽器,然後使用jquery post響應將內容顯示回用戶頁面。 現在我想要這樣的東西..如何使用Javascript讀取文本文件

從用戶計算機上使用javascript讀取文本文件。顯示內容,當他提交頁面時,我將保存這些值。

回答

4

出於安全原因,無法在純JS中完成。您需要讓用戶將文件上傳到您的服務器,然後通過Ajax獲取內容。

如果您使用Flash或Java,您應該能夠直接訪問該文件。如果你說Flash/Actionsript,也許SWFUpload的源代碼(特別是新的客戶端調整大小函數)可以作爲一個靈感。

更新:此博客條目應該有所幫助。 Read and write local files with Flash Player 10

更新:要解釋一下「上傳並獲取」的事情,如果你在一個IFRAME做上傳,你甚至可以有上傳腳本簡單地輸出的文本文件的內容。因爲iframe屬於您的域名,所以當上傳完成後,您將能夠通過JavaScript檢索其內容。只要你發送content-type: application/text它應該是相當安全的任何惡意攻擊。

+0

你可以,但現在它只支持Firefox 3.6+。鏈接:https://developer.mozilla.org/en/Using_files_from_web_applications – EarthMind 2010-04-16 12:13:49

+0

@EarthMind有趣的是,這將是本身值得回答的IMO!至少當你不需要支持每一個古老的瀏覽器時,HTML 5不會遠離它。 – 2010-04-16 12:14:50

0

由於安全問題,您將無法讀取用戶計算機中的文件。

0

使用現代瀏覽器中提供的新File API可以在javascript中讀取客戶端文件。查看本站及其代碼:http://www.readfileonline.com/

但是,在閱讀javascript中的文件內容之前,用戶必須明確地選擇允許閱讀的文件。這是該標準的一項安全功能。