リンクボタンのある aspx ページがあり、クリックすると、表示したいファイルのストリームを持つ httpHandler にリダイレクトしたいと考えています。例: リンクはハンドラーへの参照を示しています。リンク ボタンの onclick イベントでストリームを取得し、何らかの方法でコンテキストに渡し、ProcessRequest でストリームを表示します。ストリームをコンテキストに渡すにはどうすればよいですか、または最善の方法は何ですか? ありがとう!
3989 次
1 に答える
1
応答は HttpContext.Response.OutputStream を介してストリームとして公開されるため、ソースもストリームである場合は、1 つのストリームを別のストリームに単純にコピーできます: Write PDF stream to response stream .
そのスレッドのいくつかの回答は、一般的に ASP.NET に適用できます。「標準的なアプローチ」はその中にあり、コード例などがあります。
あなたの質問が本当に「最善の方法」に関するものであり、環境についてあまり詳細を提供していないため、最も興味深い回答は、2 つの Stream インスタンス間でコピーするための最良の方法 へのリンクを含むものである可能性があります。
その他の考慮事項:
- ContentType は「application/pdf」にする必要があります
- 「Content-Disposition」ヘッダーを使用すると、天気を管理したり、PDF をブラウザーに「インライン」で表示したり、「添付ファイル」として表示したりして、ダウンロード トリガーを発生させることができます。
- 「Content-Disposition」は、ユーザーが PDF をダウンロードすることを決定したときに、PDF のファイル名を管理する場所でもあります。
- 明示的に、または「使用」パターンを利用して、開いているすべてのストリームを閉じて破棄することを忘れないでください。
于 2013-04-26T11:28:21.313 に答える