如何使用 http 处理程序打开数据库中存储为字节的文件
本文关键字:存储 字节 文件 数据库 http 何使用 处理 程序 | 更新日期: 2023-09-27 18:31:25
我把我的文件作为字节存储在我的数据库中。
如何使用其应用程序打开这样的文件(如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;
}
}
您可以使用正确的 MIME 类型将其写入响应流。您可以在此处找到 MS 文件格式 MIME 类型的列表,对于 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)
{
}
}