2013-05-09 32 views
1

我有一個需要處理CSV文件的網絡應用程序。但是在處理之前,我想讓用戶選擇「預覽」我們打算如何處理每一列。在這種情況下,即使文件有數十萬行,我想先處理第一打左右。我可以使用JavaScript上傳所選文件的一部分嗎?

+1

您是否使用'File'對象上的'slice'方法(創建頭n個字節的'Blob'),然後使用FileReader讀出該「Blob」的內容,然後將它們放入DOM元素中進行演示? – 2013-05-09 20:18:34

+0

@ Ray no我沒有(這個文件對我來說是新東西),但是謝謝你的建議會研究這個! – Zugwalt 2013-05-09 20:21:10

+0

您是否想要完成這個客戶端的所有工作,或者您是否真的需要將某些文件的一部分發送到服務器? – 2013-05-09 20:21:28

回答

1

將文件的一部分簡單地發送到服務器應該很簡單。在那裏,你可以隨心所欲地做任何事情。訣竅是確定文件有多少字節是必需的。如果您不關心發送到服務器的部分中包含多少「列」,則可以選擇一個字節偏移量,比如1000個字節。

所以,你有一個File。推測你使用的是使用File API的瀏覽器。在這樣的瀏覽器中,您可以通過DataTransfer對象處理File對象,或通過<input type="file">元素的files屬性處理對象。假設您已有File對象。

首先,抓住File的第一1K:
var myFilePart = myFile.slice(0, 999);

myFilePartBlob。然後,您可以通過XHR2將此Blob發送到您的服務器: xhr.send(myFilePart)

0

如何使用JavaScript作爲預覽來處理csv文件中的前100行?

+0

你的意思是客戶端?我需要像打一個數據庫一樣的東西,而不是走那條路線。 – Zugwalt 2013-05-09 19:01:12

相關問題