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

时间:2009-07-09 14:05:10

标签: jquery filestream cgiapp

我在运行模式中使用CGI :: Application的Stream(qw / stream_file /)插件从文件系统中读取文件并将其传回给用户。

用户点击我在ajax调用中使用“id”属性的链接,使用Jquery获取文件(/?mode = get_file& fileid =< someid>)。

我也在使用Jquery taconite插件来更新应用程序其他部分的页面内容;但是我没有在get_file运行模式中返回任何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插件以某种方式移除了标题。即便如此,我也不确定解决问题的最佳方法。

任何想法都会有所帮助。

由于 /英尺

2 个答案:

答案 0 :(得分:1)

直到我能解决这个问题,我才会直接链接下载该文件。 (即没有xmlhttp)以避免Jquery httpdata路由。

答案 1 :(得分:0)

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