2012-04-09 10 views
23

मैं निम्नलिखित कोड है: जब मैं Image. में टाइपछवि कक्षा में FromStream पता लगाने में असमर्थ

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

अंतिम पंक्ति, FromStream नहीं सूची में है। मैं क्या कर सकता हूँ?

+0

'मुझे मिले सुझावों के साथ समस्या मिली है'। वह समस्या क्या है? – Oded

+2

प्रश्न पढ़ें। समस्या यह है कि FromStream नहीं मिला – user896692

+0

'FromStream' समस्या स्पष्ट है। स्पष्ट नहीं था कि अन्य उत्तरों में क्या कमी थी (या यह वह था)। – Oded

उत्तर

8

आपको शायद using System.Drawing; की आवश्यकता है।

+0

नहीं मिला ठीक है, मैंने गलत इस्तेमाल किया था। मैं आपका जवाब 6 मिनट में स्वीकार करूंगा। धन्यवाद! – user896692

+0

इसके अलावा आपको http प्रतिक्रिया को बंद/निपटान करने की आवश्यकता है। ऐसा करने में विफल होने से http कनेक्शन खुला रहता है और उसी सर्वर पर एकाधिक अनुरोध करने का प्रयास विफल हो जाता है। – Will

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); 
       } 
      } 
    } 

उम्मीद है कि यह आपको कुछ समय बचाता है, क्योंकि आप केवल एक त्वरित प्रतिलिपि कर सकते हैं और अपने समाधान में पेस्ट कर सकते हैं।

~ चीयर्स !! btw

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); 
     } 
    } 
+0

आप सही हैं यह कुछ समय बचाता है! धन्यवाद – JDandChips

+0

एक आकर्षण की तरह काम करता है! 'छवि छवि 1 = GetImageFromUrl (" http://upload.wikimedia.org/wikipedia/commons/c/cd/Panda_Cub_from_Wolong,_Sichuan,_China.JPG "); // अपनी छवि के साथ कुछ करें ' – Combine

+0

कास्टिंग से बचने के लिए 'var httpWebRequest = HttpWebRequest.CreateHttp (url);' का उपयोग करें। – m1kael

11

यह एक प्रयास करें।

+1

बाइटएरे पर महान बिंदु !! मुझे वास्तव में अगले हफ्ते इसकी आवश्यकता होगी !! सही समय। – Rogala

2

, आप भी केवल जोड़ने System.Drawing का उपयोग कर पर्याप्त नहीं है, System.Drawing.dll के संदर्भ में जोड़ने की जरूरत: