2013-08-31 2 views
5

मुझे फ़ाइल पिकर द्वारा चुनी गई फ़ाइल की बेस 64 स्ट्रिंग की आवश्यकता है।मेट्रो को स्टोरेजफ़ाइल की बेस 64 स्ट्रिंग प्राप्त हो रही है

//file is a StorageFile 

FileRandomAccessStream stream = (FileRandomAccessStream)await file.OpenAsync(FileAccessMode.ReadWrite); 

using (MemoryStream ms = new MemoryStream()) 
{ 
    Stream ss1 = stream.AsStream(); ; 
    s1.CopyTo(ms); 

} 
byteArray = ms.ToArray(); 
string imageStringSixtyfour = Convert.ToBase64String(byteArray); 
if (imageStringSixtyfour != null) 
return imageStringSixtyfour; 

लौटाई स्ट्रिंग हमेशा खाली होती है, कोई विचार? अधिकांश उदाहरण ऑनलाइन क्लासेस कि W8 मंच का हिस्सा नहीं हैं के साथ कर रहे हैं

उत्तर

9

प्रयास करें इस

private async Task<string> StorageFileToBase64(StorageFile file) 
{ 
    string Base64String = ""; 

    if (file != null) 
    { 
     IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read); 
     var reader = new DataReader(fileStream.GetInputStreamAt(0)); 
     await reader.LoadAsync((uint)fileStream.Size); 
     byte[] byteArray = new byte[fileStream.Size]; 
     reader.ReadBytes(byteArray); 
     Base64String = Convert.ToBase64String(byteArray); 
    } 

    return Base64String; 
} 
+0

धन्यवाद आप ... कुछ समय बाद किसी DataReader वर्ग मिल गया है और यह ठीक काम किया, बहुत सराहना –

संबंधित मुद्दे