0

我需要在浏览器窗口上显示日志文件的所有内容,该文件将非常大,如 2GB 到 5GB。如果我尝试一次加载整个内容,那么浏览器需要等待很长时间才能看到上面的数据,所以我计划读取数据块并将其动态地放在浏览器窗口上。

这是一个 Spring MVC 项目,当我单击一个链接时,我正在对控制器进行 ajax 调用并将日志文件返回给 JSP。

这是我的代码:

<a id="link" href="#" onclick="openLog('${logName}', '${serverIndx}');">Open log</a>

Java 脚本:

<script>
function openLog (logName, serverIndx) {

    $.ajaxSetup ({ cache: false});
    $.getJSON( '<c:url value="/tools/serverLog/"/>' + logName + '/' + serverIndx + '/', function(data){
        alert(data);
    }).error(function(jqXHR, textStatus, errorThrown) {
        //alert("ERROR: " + textStatus);
        //console.log("incoming Text " + jqXHR.responseText);
    });
}

控制器:

@RequestMapping(value="/tools/serverLog/{logName}/{serverIndx}",method=RequestMethod.GET)
public File log(Model m, @PathVariable String logName, @PathVariable String serverIndx) { 
   File f = new File("C:\ab\def");

   return f;
}

现在如何使用 java script/jquery 获取该文件的内容,以及如何在浏览器上分块显示内容。

根据以下评论,我喜欢从服务器端获取数据块,而不是在 java 脚本中进行。如何多次调用控制器以在每次调用中获取大量数据。

请帮助我,我很高兴知道是否有更好的替代方法。

4

0 回答 0