tutorial example espaƱol app c# windows-8 windows-runtime microsoft-metro winrt-xaml

c# - example - Metro obtiene la cadena base64 de un StorageFile



uwp vs wpf (1)

Prueba esto

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

Necesito la cadena base64 del archivo seleccionado por el selector de archivos.

//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;

la cadena devuelta siempre está vacía, ¿alguna idea? La mayoría de los ejemplos en línea son con clases que no son parte de la plataforma W8