Вопрос по c#, httpresponse – Невозможно найти FromStream в классе изображений

23

У меня есть следующий код:

Image tmpimg = null;
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse();
Stream stream = httpWebReponse.GetResponseStream();
return Image.FromStream(stream);

На последней строке, когда я набираюImage., FromStream нет в списке. Что я могу сделать?

I´ve got a problem with the found suggestions, Что это за проблема? Oded
FromStream проблема ясна Неясно, какие недостатки были в других ответах (или что это было). Oded
Когда я погуглил это или прочитал вопросы & quot; Загрузить изображение с URL & quot; всегдаFromStream используется. Когда я пытаюсь это сделать, он не найден user896692
Прочитайте вопрос. Проблема в том, что FromStream не может быть найден user896692

Ваш Ответ

4   ответа
2

вам также нужно добавить ссылку на System.Drawing.dll, только добавления с использованием System.Drawing недостаточно.

28

имен.

using System.Net;
using System.IO;
using System.Drawing;

public static Image GetImageFromUrl(string url)
    {
        HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);

            using (HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse())
            {
                using (Stream stream = httpWebReponse.GetResponseStream())
                {
                    return Image.FromStream(stream);
                }
            }
    }

Надеюсь, это сэкономит вам время, так как вы можете просто скопировать и вставить свое решение.

~ Ура !!

Вы чертовски правы, это экономит время! Спасибо
Работает как шарм!Image image1 = GetImageFromUrl("http://upload.wikimedia.org/wikipedia/commons/c/cd/Panda_Cub_from_Wolong,_Sichuan,_China.JPG"); //do something with your image
использованиеvar httpWebRequest = HttpWebRequest.CreateHttp(url); чтобы избежать кастинга.
11

    using System.Drawing;
    using System.IO;
    using System.Net;

    public static Image GetImageFromUrl(string url)
    {
        using (var webClient = new WebClient())
        {
            return ByteArrayToImage(webClient.DownloadData(url));
        }
    }

    public static Image ByteArrayToImage(byte[] fileBytes)
    {
        using (var stream = new MemoryStream(fileBytes))
        {
            return Image.FromStream(stream);
        }
    }
Отличный момент на byteArray !! Я действительно буду нуждаться в этом на следующей неделе !! Идеальное время.
8

using System.Drawing;.

Также вам нужно закрыть / удалить http ответ. Если этого не сделать, соединение http будет открытым, а попытка сделать несколько запросов к одному и тому же серверу приведет к сбою.
Хорошо, я неправильно использовал. Я приму ваш ответ через 6 минут. Спасибо! user896692

Похожие вопросы