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