0

我有一个页面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 格式。

如何加载外部图像并将其呈现到页面?

4

1 回答 1

4

您不能使用 URI 加载位图 - 它必须是您计算机的本地文件。

如果您想从 Web 加载图像然后渲染它,您需要向该特定资源发出 Web 请求,然后按照您的操作将字节渲染到流中。

又名

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);
    }
}
于 2012-06-19T21:31:19.113 回答