C# 如何在收集中保存图像并在picturebox中加载

C# 如何在收集中保存图像并在picturebox中加载,c#,winforms,C#,Winforms,我声明一个列表来存储图像的url 并调用“LoadBitmap”方法获取图像的流 //this list to store url list List<string> imageFileList=new List<string>(); //this list to store return image stream List<Stream> imageFiles = new List<

我声明一个列表来存储图像的url
并调用“LoadBitmap”方法获取图像的流

         //this list to store url list
         List<string> imageFileList=new List<string>();
         //this list to store return image stream
         List<Stream> imageFiles = new List<Stream>();

        imageFileList.Add("some picture url");
        imageFileList.Add("some picture url");

        imageFileList.ForEach(delegate(String imgurl)
        {
             Stream tempFile = LoadBitmap(imgurl);
             imageFiles.Add(tempFile);
             tempFile.Dispose();
        });

         private Stream LoadBitmap(string imageUrl)
        {
            Stream image;
            HttpWebRequest request =(HttpWebRequest)WebRequest.Create(imageUrl);

            using (var response = request.GetResponse())
            using (var stream = response.GetResponseStream())
            {
                image=stream;
            }

                return image;
        }
但当程序运行到“
eachPictureBox.Image=Image.FromStream(imageFile);

此行将出现错误:WebException。
我还尝试
List
imageList
存储图像,然后再次出现错误。

有人知道如何解决这个问题吗

您已经处理了流,然后尝试从流中获取图像。不要处理流,而是将图像存储在列表中,并在需要时使用它。例如,您可以使用以下代码:

List<Image> images = new List<Image>();
...
using (var s = new System.IO.FileStream(imageFilePath, System.IO.FileMode.Open))
{
    images.Add(Image.FromStream(s));
}

您已经处理了流,然后尝试从流中获取图像。不要处理流,而是将
图像
存储在列表中,并在需要时使用。不应缓存流,应将位图直接加载到列表中。
List<Image> images = new List<Image>();
...
using (var s = new System.IO.FileStream(imageFilePath, System.IO.FileMode.Open))
{
    images.Add(Image.FromStream(s));
}
pictureBox1.Image = images[0];