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

发布于 2017-02-07 12:54:21
您是如何显示图像的?
你的View File应该看起来像这样,当然你需要改变data: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"/>另外,如果它是一个字节文件,不要忘记转换它。
Convert.ToBase64String(Foto);发布于 2017-02-07 14:38:09
您需要添加data mime-type以使浏览器知道您响应的数据是什么类型。添加的代码如下:
public void ProcessRequest(HttpContext context)
{
//image/png is png mime
context.Response.ContentType = "image/png";
//read buffer from database
context.Response.BinaryWrite(buffer);
}https://stackoverflow.com/questions/42081606
复制相似问题