Saving File to Byte Array in Windows 8 WinRT

Saving File to Byte Array in Windows 8 WinRT

Rate This
  • Comments 1

I’ve been hitting my head to the ground for a couple of days trying send a byte array that represents my Image to my WCF Service in Windows 8, things has changed a lot when it comes to IO and Streams in Windows 8 so I included my code here for others to use

 

 

 

 

 

 

 

Covert File to Byte Array
  1. private async Task<byte[]> ConvertImagetoByte(StorageFileimage)
  2.       {
  3.           IRandomAccessStream fileStream = await image.OpenAsync(FileAccessMode.Read);
  4.           var reader = new Windows.Storage.Streams.DataReader(fileStream.GetInputStreamAt(0));
  5.           await reader.LoadAsync((uint)fileStream.Size);
  6.  
  7.           byte[] pixels = new byte[fileStream.Size];
  8.  
  9.           reader.ReadBytes(pixels);
  10.  
  11.           return pixels;
  12.  
  13.       }
Leave a Comment
  • Please add 6 and 7 and type the answer here:
  • Post
  • this is old but for the next guy who finds this off a search engine like i did:

    add: (IBuffer.ToArray() is defined in WindowsRuntimeBufferExtensions)

    using System.Runtime.InteropServices.WindowsRuntime;

    then just do:

    var buffer = await FileIO.ReadBufferAsync(image);

    var bytes = buffer.ToArray();

Page 1 of 1 (1 items)