Perl CGI::Application::Plugin:Stream+;Jquery Taconite插件-无法下载文件

Perl CGI::Application::Plugin:Stream+;Jquery Taconite插件-无法下载文件,jquery,filestream,cgiapp,Jquery,Filestream,Cgiapp,我在运行模式下使用CGI::Application的Stream(qw/Stream_file/)插件从文件系统读取文件并将其流回到用户 用户单击一个链接,我使用Jquery在ajax调用中使用该链接的“id”属性来获取文件(/?mode=get\u file&fileid=) 我还使用jQueryTaconite插件更新应用程序其他部分的页面内容;但我在get_文件运行模式中不返回任何xml,如下所示: sub get_file{ my $self = shift; my $file

我在运行模式下使用CGI::Application的Stream(qw/Stream_file/)插件从文件系统读取文件并将其流回到用户

用户单击一个链接,我使用Jquery在ajax调用中使用该链接的“id”属性来获取文件(/?mode=get\u file&fileid=)

我还使用jQueryTaconite插件更新应用程序其他部分的页面内容;但我在get_文件运行模式中不返回任何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();
  }
}
结果是:

  • 文件确实按预期进行了流式传输(Firebug告诉我是这样的)
  • 标题看起来不错(如Firebug中所示)
我的问题是:

  • 文件内容从未以可下载文件的形式呈现给我
我怀疑taqconite插件以某种方式删除了标题。即便如此,我也不确定解决这个问题的最佳方法

任何想法都会很有帮助

谢谢
/ft

在我弄明白这一点之前,我只想通过一个直接链接下载该文件。(即没有xmlhttp)以避免Jquery httpdata路由。

如果文件正在流式传输,那么文件将流向何处

我可以在firebug控制台中看到文件的内容,它告诉我文件正在流式传输到浏览器。