2014-04-01 97 views
3

我是一個大型的日誌文件,並希望用瀏覽器使用Mojolicious打開它。我的客戶將點擊鏈接,我想從服務器讀取文件內容並將其返回給用戶。我用下面的技巧來解決這個問題:Perl 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); 

它解決了問題,但它需要大量的時間,直到它讀取文件內容,並顯示在瀏覽器中的結果。

在頁面還在加載時如何向用戶顯示文件內容?

謝謝。

回答