Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在特定于PictureBox的URL中显示来自流(Responce)的图像_C#_Stream_Picturebox_Httpwebresponse - Fatal编程技术网

C# 如何在特定于PictureBox的URL中显示来自流(Responce)的图像

C# 如何在特定于PictureBox的URL中显示来自流(Responce)的图像,c#,stream,picturebox,httpwebresponse,C#,Stream,Picturebox,Httpwebresponse,这是我的密码: HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.flowercity.com/"); req.Method = "GET"; req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; req.ContentType = "text/html; charset=ut

这是我的密码:

    HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.flowercity.com/");
    req.Method = "GET";
    req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
    req.ContentType = "text/html; charset=utf-8";
    req.Timeout = 25000;

    HttpWebResponse res = (HttpWebResponse)req.GetResponse();

    Stream Stream = res.GetResponseStream();
    StreamReader reader = new StreamReader(Stream);
    string reader_str = reader.ReadToEnd();
如何在流中抓取加载的图像并在PictureBox中逐个显示它们

编辑1:
请查看我的url,它不是图像,它是一个网站,我们有一个正在运行的网站。
因此,以下代码不起作用:

    Image img = Image.FromStream(Stream);
    PictureBox1.Image = img;
编辑2:
我无法使用
HtmlAgilityPack
获取图像URL

每个图像都没有特定的url,需要在流中显示以前加载的图像

正如vcsjones评论中所述,您的流是网站索引页面的流。里面有图像标签。就像浏览器在导航到相关站点时为您所做的那样,您需要单独下载图像

最可靠的方法可能是使用正则表达式在网页(示例代码中加载的网页)中搜索这些链接。显然,您可以尝试将页面作为XML文档加载,但XML解析器对有效性要求非常严格。不幸的是,大多数网页作者并不是这样的,所以对网页进行更“松散”的搜索,寻找你的链接可能效果最好

如果你给它一个直接的图像链接,你的代码应该可以工作。您现在面临的挑战是从正在加载的页面获取这些直接链接

编辑

您的网页如下所示:

<html>
<title>welcome to the flower page</title>
<img src="flower.jpg"/>
</html>

欢迎来到花页
(为了简单起见缩短)


您需要通读所获得的文本,找到图像存储在Web服务器上的位置,然后打开单独的http连接下载每个图像。

页面只是HTML。您需要使用类似于HtmlAgilityPack的东西来梳理HTML以查找图像。图像的url是这样的:web site/124124.blablablabla,因此在每次加载中,我都会得到一个不同的图像,我希望从req.GetResponse()中加载第一个图像;我的问题是那些第一次加载的图片在哪里,我如何抓取它们?嗨,马库斯,请看我的评论。我想你误解了网页的工作原理,月光。您正在打开的流中的数据仅包含网页文本和图像链接,而不是图像本身。请查看我的答案中的编辑,注释大小无法容纳正确的解释。