我将我的文件存储为数据库中的字节。
如何使用其应用程序(如microsoft office,acrobat reader等)打开这样的文件或下载它。
我想用generic handler
:
public class Attachement : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
try
{
byte[] Attachement = (byte[])AttachementDAL.ReadAttachement(int.Parse(context.Session["attch_serial"].ToString())).Rows[0]["attach_content"];
}
catch (Exception ee)
{
}
}
public bool IsReusable
{
get
{
return false;
}
}
答案 0 :(得分:1)
您可以使用正确的MIME类型将其写入响应流。您可以找到MS文件格式MIME类型here的列表,对于pdf,它是application/pdf
。如果您想保持通用(所有二进制文件)使用application/octet-stream
public void ProcessRequest(HttpContext context)
{
try
{
byte[] Attachement =
(byte[])AttachementDAL
.ReadAttachement(
int.Parse(context.Session["attch_serial"].ToString())
).Rows[0]["attach_content"];
context.Response.Clear();
context.Response.ContentType = "application/msword";
foreach(byte b in Attachement)
{
context.Response.OutputStream.WriteByte(b);
}
context.Response.OutputStream.Flush();
}
catch (Exception ee)
{
}
}