12
Tak więc mam funkcję, która pobiera BitmapImage
, potrzebuję zapisać ją do pamięci iso i przekonwertować do Base64 (do wysyłania na serwer). Jednak kopiowanie z fileStream
do memoryStream
nie powiodło się.Po fileStream.CopyTo (memoryStream), memoryStream ma wartość zerową
public void SetImage(BitmapImage bitmap)
{
if (isoFiles.FileExists(Settings.FILE_AVATAR_JPG))
isoFiles.DeleteFile(Settings.FILE_AVATAR_JPG);
var fileStream = isoFiles.CreateFile(Settings.FILE_AVATAR_JPG);
var wb = new WriteableBitmap(bitmap);
wb.SaveJpeg(fileStream, 120, 120, 0, 85); // file is saved
var memoryStream = new MemoryStream();
fileStream.CopyTo(memoryStream); // here, memoryStream is null
byte[] result = memoryStream.ToArray();
fileStream.Close();
var base64 = Convert.ToBase64String(result);
}
Tak, wystarczy. –