2009-07-09 49 views
4

我在runmode中使用CGI :: Application的Stream(qw/stream_file /)插件从文件系统和流中读取文件它回到用户。Perl CGI :: Application :: Plugin:Stream + Jquery Taconite插件 - 无法下载文件

其 “id” 属性中我的AJAX调用使用JQuery来获取文件中使用的链路上的用户点击(/?模式= get_file & FILEID = <someid>)。

我也使用Jquery taconite插件更新我的应用程序的其他部分的页面内容;但我不会在get_file runmode返回任何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(); 
    } 
} 

结果是:

  • 预期的文件确会流(萤火虫告诉我这样的)
  • 标头似乎好了(如萤火虫看到)

我的问题是:

  • 文件内容不会以可下载的文件的形式呈现给我。

我的怀疑是,taqconite插件莫名其妙地移除报头。即便如此,我不确定解决问题的最佳方法。

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

感谢 /英尺

回答

1

直到我可以算一个了,我只是直接链接去下载文件。 (即No xmlhttp)来避免Jquery httpdata路由。

0

如果文件正在流式传输,文件在哪里呢?

+0

我可以在Firebug控制台中看到该文件的内容,它告诉我该文件正在流向浏览器。 – user135667 2009-07-23 18:17:14