/// <inheritdoc /> public async Task SaveToCameraRoll(MediaFile mediafile, bool overwrite = true) { string targetFilename = mediafile.Filename; this.tracer.Debug("SaveToCameraRoll with targetFilename={0}, overwrite={1}", targetFilename, overwrite); try { using (var mediaLibrary = new Microsoft.Xna.Framework.Media.MediaLibrary()) { mediaLibrary.SavePictureToCameraRoll(targetFilename, mediafile.GetStream()); } } catch (UnauthorizedAccessException ex) { throw new UnauthorizedAccessException("Make sure that you add the ID_CAP_MEDIALIB_PHOTO capability in your WmAppManifest.", ex); } }
/// <inheritdoc /> public async Task SaveToCameraRoll(MediaFile mediafile, bool overwrite = true) { string targetFilename = mediafile.Filename; this.tracer.Debug("SaveToCameraRoll with targetFilename={0}, overwrite={1}", targetFilename, overwrite); try { var collisionOption = overwrite ? CreationCollisionOption.ReplaceExisting : CreationCollisionOption.FailIfExists; var cameraRollFolder = KnownFolders.CameraRoll; var targetFile = await cameraRollFolder.CreateFileAsync(targetFilename, collisionOption); using (var outputstream = await targetFile.OpenStreamForWriteAsync()) { await mediafile.GetStream().CopyToAsync(outputstream); } } catch (UnauthorizedAccessException ex) { throw new UnauthorizedAccessException("Make sure that you add the picturesLibrary capability in your Package.appxmanifest.", ex); } }