いくつかのMSWordドキュメントをSQLServerに保存しました。ダウンロードしたいときは、まずサーバーにファイルとして保存してからユーザーがダウンロードできるようにしますが、サーバーのファイルシステムにファイルを保存しない方法を探しています...
1233 次
1 に答える
2
IHttpHandler を実装するカスタム HttpHandler が必要です。MSDN のIHttpHandler.ProcessRequest メソッドを参照してください。適切な MIME タイプを設定し、バイナリ データをデータベースから HttpContext の OutputStream にリダイレクトします。
Docs.ashxと呼ばれるカスタム ハンドラーの例 (推測、テストされていません) :
using System.IO;
using System.Web;
public class Docs : IHttpHandler
{
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
using (var streamReader = new StreamReader("fileSourceForDemonstration.docx"))
{
streamReader.BaseStream.CopyTo(context.Response.OutputStream);
}
}
public bool IsReusable
{
get { return false; }
}
}
于 2011-10-11T12:25:27.097 に答える