如何从URL读取图片并在我的页面上显示

时间:2011-03-23 18:29:15

标签: c# .net image stream show

我有一个包含信息的SQL表:

   id (hash)
   imagename string
   width int
   height int

创建.net图像读取的最佳方法是什么,它将在页面中显示图像。我想把它称为image.aspx / ashx?id = [id],函数将尝试捕获并显示该图像。

我知道如何从SQL获取数据,但我不知道如何从URL读取img并将其显示为图像。

有什么可以指点我的一些相关信息如何做或显示一段代码如何工作?

我是否将其视为流?

由于

3 个答案:

答案 0 :(得分:1)

查看此文章:http://aspnet-cookbook.info/O.Reilly-ASP.NET.Cookbook.Second.Edition/0596100647/aspnetckbk2-CHP-20-SECT-2.html

您需要创建一个HttpHandler类并在web.config中连接它。

答案 1 :(得分:1)

string imageFileName = "thefile.jpg";
context.Request.MapPath(@"IMAGES\" + context.Request.QueryString["id"]); 
context.Response.ContentType = "image/jpeg";     
context.Response.WriteFile(imageFileName);     
context.Response.Flush(); 
context.Response.Close();

http://blogs.msdn.com/b/alikl/archive/2008/05/02/asp-net-performance-sin-serving-images-dynamically-or-another-reason-to-love-fiddler.aspx

http://msdn.microsoft.com/en-us/library/ms973917.aspx

答案 2 :(得分:0)

您可以使用System.Net.WebRequest类通过HTTP检索远程资源(例如图像)。

WebRequest request = WebRequest.Create("http://www.doesnotexist.com/ghost.png");
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
BinaryReader reader = new BinaryReader(stream)
byte[] imageBytes = reader.ReadBytes(stream.Length);

请注意,read the bytes from the Stream可能有更好的方法。您还应该记得在适当的地方添加using语句以正确处理任何非托管资源。