【问题标题】:Perl CGI::Application::Plugin:Stream + Jquery Taconite plugin - Cannot download filePerl CGI::Application::Plugin:Stream + Jquery Taconite 插件 - 无法下载文件
【发布时间】:2009-07-22 23:28:45
【问题描述】:

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

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

我还在使用 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 插件以某种方式删除了标题。即便如此,我也不确定解决它的最佳方法。

任何想法都会很有帮助。

谢谢 /英尺

【问题讨论】:

    标签: jquery filestream cgiapp


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我可以在 firebug 控制台中看到文件的内容,这告诉我文件正在流式传输到浏览器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 2013-10-06
      • 2013-05-31
      相关资源
      最近更新 更多