2013-01-07 47 views
1

我有一個要求,用戶將在本地選擇一個CSV文件,我必須讀取文件內容並將它們轉儲到JQGrid上。是的,瀏覽器是IE :) ..我應該怎麼做才能做到這一點?通過AJAX讀取C#中客戶端選擇的CSV文件?

+5

您無法讀取客戶端文件,所以你需要把它上傳到服務器比解析它,你需要。 –

回答

0

除非你是不是能夠使用HTML 5(IE的等低版本)的:

JavaScript不能直接訪問文件系統,所以你將不得不使用的文件上傳和標籤解析它在服務器上:http://webdesign.about.com/od/htmltags/p/input-file-tag.htm

然後,您可以使用AJAX查詢內容並將其拉回到網格中。

+0

您可以使用FileReader讀取文件客戶端,雖然來自IE的支持(隱藏)滯後。 https://developer.mozilla.org/en-US/docs/DOM/FileReader – Fermin

+1

假設他們正在使用的IE版本實際上支持它......我幾乎沒有信心讓公司擁有當前的瀏覽器。 – kemiller2002

1

其實你可以做到這一點與全新的HTML5功能,因此,如果您打算爲IE9 +

http://www.html5rocks.com/en/tutorials/file/dndfiles/

檢查了這一點。

基本上,你需要FileReader組件(FileReader.readAsText(Blob|File, opt_encoding)),然後用正則表達式或任何浮動你的山羊解析所有東西。

如果您definetely需要做到這一點在客戶端和中老年IE,也許ActiveX是一種解決方案:

ActiveX' FileSystemObject

+0

使用適用於應用程序的較低版本的IE ... IE 7,8 .. – faizanjehangir

+0

然後請參考Rory McCrossan的評論,除非您使用ActiveX,否則無法完成,我將擴展答案 – povilasp