我正在与一个web服务器工作,它只能在我们的内部网络上使用。我需要通过我们的DMZ web服务器向公众提供它所提供的图像。内部系统有一个GUI,任何人都可以上传任何类型的图像,所以我的HttpHandler必须是灵活的。
我目前使用的代码是:
WebResponse webResponse = WebRequest.Create(imagePath).GetResponse();
using (Stream stream = webResponse.GetResponseStream())
{
context.Response.Clear();
context.Response.ContentType = webResponse.ContentType;
stream.CopyTo(context.Response.OutputStream);
context.Response.End();
}这似乎有效,而且它在HTML页面上正确地提供图像,但是当我在Chrome中右击并选择"Open image in new tab“时,我会得到这样的混乱文本:

有什么建议可以让我的代码更好吗?
谢谢!
编辑:看起来这个代码片段完全可以完成它应该做的事情。问题在于内部托管的映像本身。它甚至在运行这个HttpHandler之前就提供了完全相同的乱码文本。
发布于 2016-06-02 14:12:58
您的内容类型标题可能没有正确设置。
将其更改为context.Response.ContentType = "image/png";,但将"png“替换为正在加载的图像时间。
https://stackoverflow.com/questions/37594206
复制相似问题