【问题标题】:Perl Mojolicious Render Large Text FilePerl Mojolicious 渲染大文本文件
【发布时间】:2014-05-11 21:56:16
【问题描述】:

我有一个很大的日志文件,想用 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);
}

现在 - 我有一个大文件,读取它时总是出现内存不足的错误。

如何向用户呈现大文件内容?

我试图解决它:

$self->res->headers->content_type('text/plain');
$self->res->content->asset(Mojo::Asset::File->new(path => file));
$self->rendered(200);

它解决了这个问题,但是它需要很长时间才能读取文件内容并在浏览器中显示结果。

如何在页面仍在加载时向用户显示文件内容?

谢谢。

【问题讨论】:

    标签: perl mojolicious


    【解决方案1】:

    您可能想调查chunked transfer encoding。分块读取文件并将这些块发送给客户端。

    【讨论】:

      猜你喜欢
      • 2017-06-26
      • 1970-01-01
      • 2010-09-22
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      相关资源
      最近更新 更多