2016-01-02 46 views
0

我在Grails中使用d3.js。我有一個叫vis的視圖。在腳本部分我叫:Grails錯誤加載大csv文件與d3.js

<body> 
    <script> 
     ... 
     d3.csv("data", function(error, data) { 
      if (error) throw error;   
      ... 
     } 
    </script> 
</body> 

在我UrlMappings我:

"/vis/data"(view:'/vis/data.csv') 

當頁面加載我收到以下錯誤:

Class: java.lang.OutOfMemoryError 
Message: Error mapping onto view [/vis/data.csv]: Java heap space 
Caused by: Java heap space 

我的CSV文件有230MB 。

什麼是在Grails中調用d3庫的正確方法?我想讓我的csv文件在conf/data文件夾中。

編輯

我需要加載客戶端的文件,我相信不Large file download using grails

同樣的問題,我知道大文件需要的部分進行閱讀,但我怎麼能做到這在客戶端?

在此先感謝。

+0

這與D3和Grails無關。使用包含CSV數據的HTTP響應發佈您的Grails代碼。 – heavyhorse

+0

這是同一個問題。您的錯誤發生在服務器端,與此時客戶端無關。你有沒有嘗試回答我鏈接的問題?首先解決這個問題,然後你真的看到你的客戶端是否有問題。 – Mark

回答

0

你的錯誤非常相似,所以下面: Large file download using grails

基本上避免加載整個csv文件到內存中。 Grails有文件助手。由於您的CSV文件位於文件系統上,因此這應該起作用。如果您正在轉換數據,則可能需要對創建緩衝區,迭代數據等進行一些研究......