我在运行模式中使用 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 插件以某种方式删除了标题。即便如此,我不确定解决它的最佳方法。
任何想法都是最有帮助的。
谢谢/英尺