4

実行モード内で 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 プラグインが何らかの形でヘッダーを削除することでした。それでも、それを解決する最善の方法がわかりません。

どんなアイデアでも最も役に立ちます。

ありがとうございます

4

2 に答える 2

1

これがわかるまでは、ファイルをダウンロードするための直接リンクを使用するだけです。(つまり、xmlhttp なし) Jquery httpdata ルートを回避します。

于 2009-07-12T14:04:49.220 に答える
0

ファイルがストリーミングされている場合、ファイルはどこに行くのでしょうか?

于 2009-07-22T15:28:45.480 に答える