2013-02-26 44 views
6

मैं विंडोज 8 ऐप में डेटाबेस को एसकलाइट करने के लिए छवियों (पीएनजी) को स्टोर करने की कोशिश कर रहा हूं, और मुझे पता चला कि यह कर सकता है इसे बेस 64 स्ट्रिंग में परिवर्तित करके और स्ट्रिंग को डेटाबेस में संग्रहीत करके किया जाना चाहिए। बाद में ऐप में मैं उस बेस 64 स्ट्रिंग को पीएनजी छवि में परिवर्तित करना चाहता हूं और इसे किसी निर्दिष्ट स्थान पर संग्रहीत करना चाहता हूं। समस्या यह है कि मुझे नहीं पता कि छवियों को बेस 64 और बेस 64 में छवि में कैसे परिवर्तित करें और इसे सी # विंडोज 8 ऐप में निर्दिष्ट स्थान पर संग्रहीत करें। किसी भी सहायता की सराहना की जाएगी।छवि (.png) को बेस 64 स्ट्रिंग में कनवर्ट करने के लिए, इसके विपरीत और इसे किसी निर्दिष्ट स्थान पर ले जाएं

उत्तर

8
public string ImageToBase64(Image image, 
    System.Drawing.Imaging.ImageFormat format) 
{ 
    using (MemoryStream ms = new MemoryStream()) 
    { 
    // Convert Image to byte[] 
    image.Save(ms, format); 
    byte[] imageBytes = ms.ToArray(); 

    // Convert byte[] to Base64 String 
    string base64String = Convert.ToBase64String(imageBytes); 
    return base64String; 
    } 
} 



    public Image Base64ToImage(string base64String) 
    { 
     // Convert Base64 String to byte[] 
     byte[] imageBytes = Convert.FromBase64String(base64String); 
     using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length)) 
     { 

      // Convert byte[] to Image 
      ms.Write(imageBytes, 0, imageBytes.Length); 
      Image image = Image.FromStream(ms, true); 
      return image; 
     } 
    } 
+0

@ हार्डलक ... अच्छा लगता है, दूसरी विधि में, मेमोरीस्ट्रीम को एक प्रयोग ब्लॉक में प्रारंभ नहीं किया जाना चाहिए ताकि यह सुनिश्चित किया जा सके कि यह ठीक से निपटाया गया है? – Paul

+0

आप सही हैं, अब और अधिक सही। – HardLuck

+0

@ हर्डलक ऐप में किसी निर्दिष्ट स्थान पर छवि को स्टोर करने के लिए ऐप का एसेट फ़ोल्डर कहता है? – Justice