実行モード内で CGI::Application 用のストリーム (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 プラグインが何らかの形でヘッダーを削除することでした。それでも、それを解決する最善の方法がわかりません。
どんなアイデアでも最も役に立ちます。
ありがとうございます