gpt4 book ai didi

asp.net - 动态渲染asp :Image from BLOB entry in ASP. NET

转载 作者:行者123 更新时间:2023-12-03 23:02:30 25 4
gpt4 key购买 nike

我想要达到的就是这个。我想让用户能够上传图像文件,将图像存储在 SQL Server 的 BLOB 中,然后将此图像用作站点其他页面的 Logo 。

我已经通过使用做到了这一点

   Response.Clear();
Response.ContentType = "image/pjpeg";
Response.BinaryWrite(imageConents);
Response.End();

但要做到这一点,我在要显示图像的地方使用了用户控件。如果可能的话,我想使用 asp:Image 控件,甚至是纯旧的 html 图像控件。这可能吗?

最佳答案

将“通用处理程序”添加到您的 Web 项目,将其命名为 Image.ashx。像这样实现它:

public class ImageHandler : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
using(Image image = GetImage(context.Request.QueryString["ID"]))
{
context.Response.ContentType = "image/jpeg";
image.Save(context.Response.OutputStream, ImageFormat.Jpeg);
}
}

public bool IsReusable
{
get
{
return true;
}
}
}

现在只需实现 GetImage 方法来加载具有给定 ID 的图像,您可以使用
<asp:Image runat="server" ImageUrl="~/Image.ashx?ID=myImageId" /> 

显示它。您可能还想考虑在处理程序中实现某种形式的缓存。请记住,如果要将图像格式更改为 PNG,则需要使用中间 MemoryStream(因为 PNG 需要保存可搜索的流)。

关于asp.net - 动态渲染asp :Image from BLOB entry in ASP. NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com