我是一个大型日志文件,想要使用Mojolicious在浏览器中打开它。我的客户将点击该链接,我想从服务器读取文件内容并将其返回给用户。我使用以下技巧来解决它:
my $res = `cat $file`;
if (! $res) {
$self->render(text => "An error while trying to read the log file. \nPlease try to refresh the page.");
}
else {
$self->render(text => $res);
}
现在 - 我有一个大文件,在阅读时我总是会出现Out of Memory错误。
如何向用户呈现大型文件内容?
我尝试用以下方法解决它:
$self->res->headers->content_type('text/plain');
$self->res->content->asset(Mojo::Asset::File->new(path => file));
$self->rendered(200);
它解决了这个问题,但它需要花费大量时间才能读取文件内容并在浏览器中显示结果。
如何在页面加载时向用户显示文件内容?
感谢。