title: Saving a stream containing an image to Local folder on Windows Phone 8
body: <p>I'm currently trying to save an stream containing a jpeg image I got back from the camera to the local storage folder. The files are being created but unfortunately contain no data at all. Here is the code I'm trying to use:</p>
  
  <pre><code>public async Task SaveToLocalFolderAsync(Stream file, string fileName)
  {
    StorageFolder localFolder = ApplicationData.Current.LocalFolder;
    StorageFile storageFile = await localFolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
  
    using (IRandomAccessStream fileStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite))
    {
      using (IOutputStream outputStream = fileStream.GetOutputStreamAt(0))
      {
        using (DataWriter dataWriter = new DataWriter(outputStream))
        {
          dataWriter.WriteBytes(UsefulOperations.StreamToBytes(file));
          await dataWriter.StoreAsync();
          dataWriter.DetachStream();
        }
        await outputStream.FlushAsync();
      }
    }
  }
  
  public static class UsefulOperations
  {
    public static byte[] StreamToBytes(Stream input)
    {
      using (MemoryStream ms = new MemoryStream())
      {
        input.CopyTo(ms);
        return ms.ToArray();
      }
    } 
  }
  </code></pre>
  
  <p>Any help saving files this way would be greatly appreciated - all help I have found online refer to saving text. I'm using the Windows.Storage namespace so it should work with Windows 8 too.</p>