C# 如何从通用处理程序在新选项卡中打开图像?

C# 如何从通用处理程序在新选项卡中打开图像?,c#,asp.net,generic-handler,C#,Asp.net,Generic Handler,我设法使用通用处理程序将二进制图像从数据库显示到图像控件。我想在“新建”选项卡上打开图像,或使用鼠标右键单击复制其链接地址。但使用的URL是通用处理程序的地址 (). 我尝试搜索,但没有得到任何结果,可能是使用了错误的关键字。下面是“新建”选项卡中图像的屏幕截图 您如何显示图像 您的视图文件应该是这样的,当然您需要更改您使用的文件扩展名上的数据:image/jpeg <img alt="" src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUg

我设法使用通用处理程序将二进制图像从数据库显示到图像控件。我想在“新建”选项卡上打开图像,或使用鼠标右键单击复制其链接地址。但使用的URL是通用处理程序的地址
(). 我尝试搜索,但没有得到任何结果,可能是使用了错误的关键字。下面是“新建”选项卡中图像的屏幕截图

您如何显示图像

您的视图文件应该是这样的,当然您需要更改您使用的文件扩展名上的数据:image/jpeg

<img alt="" src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAsMAAAGhCAIAAAALOi7ZAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QgLEhM6PUSGrwAAIABJREFUeNq8vcuSLEmWHKZ6jnlEZt5761Z3T/eAHAICAYRcEALsuOCWPzbzDfwP/gKXWJACoRDCBSkEBgPhADKY7qnu+4wIdztHuThmHh55q2t6ho+SlpaqyMwID3ez89CjqsY//dM//bM/+zMc/pGE3//PT/z09/1I0t/1Rz/x+o9+0I++vv/n8fU/8MW/9U9+9JVvL/v/u1cy86cv5ttfePXKq//8fTfhp+/qT3/oq8v+6V/+Ay/v25/+4X/46nqO"/>
您需要添加数据,使浏览器知道您响应的数据是什么类型。添加的代码如下所示:

public void ProcessRequest(HttpContext context)
{
    //image/png is png mime
    context.Response.ContentType = "image/png";
    //read buffer from database
    context.Response.BinaryWrite(buffer);
}

在设置控件之前,您是否已将二进制数据转换回图像?看起来像PNG(请参见前几个字母),但发送时使用了错误的内容/mime类型标题请参见此处
public void ProcessRequest(HttpContext context)
{
    //image/png is png mime
    context.Response.ContentType = "image/png";
    //read buffer from database
    context.Response.BinaryWrite(buffer);
}