我創建了一個Web應用程序來清理CSV/TSV數據。該應用程序允許我上傳CSV文件,讀取它,修復數據,然後使用正確的數據下載新的CSV文件。我遇到的一個挑戰是下載超過2500行的文件。瀏覽器與以下錯誤消息崩潰:encodeURI文件下載 - 崩潰瀏覽器
"Aw, Snap! Something went wrong while displaying this webpage..."
要解決這一點,我已經改變了編程下載多個CSV文件不超過2500線,直到所有的數據被下載。然後我會將下載的CSV文件放到最終文件中。這不是我正在尋找的解決方案。處理超過100,000行的文件時,我需要將所有內容下載到1個文件中,而不是40個。我還需要一個前端解決方案。
以下是下載CSV文件的代碼。我正在創建一個隱藏鏈接,對數據數組的內容進行編碼(每個元素有1000行)併爲隱藏鏈接創建路徑。然後我觸發點擊鏈接開始下載。
var startDownload = function (data){
var hiddenElement = document.createElement('a');
var path = 'data:attachment/tsv,';
for (i=0;i<data.length;i++){
path += encodeURI(data[i]);
}
hiddenElement.href = path;
hiddenElement.target = '_blank';
hiddenElement.download = 'result.tsv';
hiddenElement.click();
}
在我的情況下,上述過程每次工作約2500行。如果我嘗試下載更大的文件,瀏覽器會崩潰。我做錯了什麼,以及如何在不崩潰瀏覽器的情況下下載更大的文件?瀏覽器崩潰的文件有(12,000行乘48列)
p.s.我在谷歌瀏覽器中完成了所有這些工作,可以上傳文件。所以解決方案應該在Chrome中運行。
Hi Xited,你找到任何解決方案。 Bcz也面臨同樣的問題。 – 2015-06-10 05:57:06
你是否試圖完全在瀏覽器中進行CSV清理?如果沒有,你怎麼不把數據發佈到服務器上? – eddiewould 2015-06-10 09:24:57
可能的話,看看http://www.gieson.com/Library/projects/utilities/opensave,如果你試圖完全在瀏覽器中完成 – eddiewould 2015-06-10 09:30:58