我有一个页面http://www.mysite.com/image.aspx
,我想加载并显示图片而不是呈现HTML。
我将页面的ContentType设置为image/png
,这是我的代码:
using (Bitmap image = new Bitmap("http://www.google.com/images/img.png"))
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.WriteTo(Response.OutputStream);
}
}
但是我收到一个错误说:
不支持URI格式。
如何加载外部图像并将其渲染到页面?
答案 0 :(得分:4)
您无法使用URI加载位图 - 它必须是您计算机的本地文件。
如果要从Web上加载图像然后再渲染它,则需要向该特定资源发出Web请求,然后在执行时将字节呈现给流。
AKA
WebRequest webRequest = WebRequest.Create("http://www.google.com/images/img.png");
using(WebResponse response = webRequest.GetResponse())
{
using(MemoryStream stream = new MemoryStream(response.GetResponseStream())
{
stream.WriteTo(Response.OutputStream);
}
}