public void Seek(ulong position) { if (position >= seekOffset) { position = position - seekOffset; } //System.Diagnostics.Debug.WriteLine("Seek: " + position.ToString() + " - Stream Size: " + internalStream.Size + " Stream position: " + internalStream.Position); internalStream.Seek(position); }
private async static Task <bool> SaveStreamTo3MF(Windows.Storage.Streams.IRandomAccessStream stream) { // set back stream.Seek(0); using (var dataReader = new Windows.Storage.Streams.DataReader(stream)) { var dataLoad = await dataReader.LoadAsync((uint)stream.Size); if (dataLoad > 0) { var buffer = dataReader.ReadBuffer((uint)stream.Size); StorageFolder localFolder = ApplicationData.Current.LocalFolder; var outputfile = await localFolder.CreateFileAsync("output.3mf", CreationCollisionOption.ReplaceExisting); await Windows.Storage.FileIO.WriteBufferAsync(outputfile, buffer); var options = new Windows.System.LauncherOptions(); options.TargetApplicationPackageFamilyName = "Microsoft.3DBuilder_8wekyb3d8bbwe"; } } return(true); }