【问题标题】:How to open image in new tab from generic handler?如何从通用处理程序在新选项卡中打开图像?
【发布时间】:2017-06-24 05:03:18
【问题描述】:
【问题讨论】:
标签:
c#
asp.net
generic-handler
【解决方案1】:
您如何显示图像?
您的视图文件应该看起来像这样,当然您需要更改 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);
【解决方案2】:
您需要添加数据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);
}