4

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

用户单击一个链接,我在使用 Jquery 的 ajax 调用中使用其“id”属性来获取文件 (/?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 插件以某种方式删除了标题。即便如此,我不确定解决它的最佳方法。

任何想法都是最有帮助的。

谢谢/英尺

4

2 回答 2

1

在我弄清楚这一点之前,我只是使用直接链接来下载文件。(即No xmlhttp)来避免Jquery httpdata 路由。

于 2009-07-12T14:04:49.220 回答
0

如果正在流式传输文件,那么文件会去哪里?

于 2009-07-22T15:28:45.480 回答