2009-07-09 51 views
4

我在runmode中使用CGI :: Application的Stream(qw/stream_file /)插件從文件系統和流中讀取文件它回到用戶。Perl CGI :: Application :: Plugin:Stream + Jquery Taconite插件 - 無法下載文件

其 「id」 屬性中我的AJAX調用使用JQuery來獲取文件中使用的鏈路上的用戶點擊(/?模式= get_file & FILEID = <someid>)。

我也使用Jquery taconite插件更新我的應用程序的其他部分的頁面內容;但我不會在get_file runmode返回任何XML,它看起來像這樣:


sub get_file{ 
    my $self = shift; 
    my $fileid=$self->query->param("fileid"); 
    $self->header_add(-attachment => $fileid); 
    $self->header_add(-type => "application/x-download"); 
    if ($self->stream_file($fileid)) { 
     return; 
    } else { 
     return $self->error_mode(); 
    } 
} 

結果是:

  • 預期的文件確會流(螢火蟲告訴我這樣的)
  • 標頭似乎好了(如螢火蟲看到)

我的問題是:

  • 文件內容不會以可下載的文件的形式呈現給我。

我的懷疑是,taqconite插件莫名其妙地移除報頭。即便如此,我不確定解決問題的最佳方法。

任何想法將是最有幫助的。

感謝 /英尺

回答

1

直到我可以算一個了,我只是直接鏈接去下載文件。 (即No xmlhttp)來避免Jquery httpdata路由。

0

如果文件正在流式傳輸,文件在哪裏呢?

+0

我可以在Firebug控制檯中看到該文件的內容,它告訴我該文件正在流向瀏覽器。 – user135667 2009-07-23 18:17:14