public static async Task SaveStreamToFile(Windows.Storage.Streams.IRandomAccessStream stream, Windows.Storage.IStorageFile file) { using var fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite); var buffer = new byte[stream.Size]; var ibuffer = buffer.AsBuffer(); stream.Seek(0); await stream.ReadAsync(ibuffer, (uint)stream.Size, Windows.Storage.Streams.InputStreamOptions.None); await fileStream.WriteAsync(ibuffer); }
private async Task AddFileSize(SongData s) { try { Windows.Storage.IStorageFile file = await Windows.Storage.StorageFile.GetFileFromPathAsync(s.Path); s.FileSize = file.OpenAsync(Windows.Storage.FileAccessMode.Read).AsTask().Result.Size; } catch (Exception ex) { //DiagnosticHelper.TrackTrace("AddFileSize" + Environment.NewLine + ex.Message, Microsoft.HockeyApp.SeverityLevel.Error); } Song = s; }
public RequestBuilder DownloadTo(Windows.Storage.IStorageFile file) { this.success = (headers, result) => { long?length = null; if (headers.AllKeys.Contains("Content-Length")) { length = long.Parse(headers["Content-Length"]); } var handle = file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite).AsTask().Result; ProgressCallbackHelper operation = result.CopyToProgress(WindowsRuntimeStreamExtensions.AsStream(handle), length); operation.Completed += (totalbytes) => { handle.Dispose(); }; }; return(this); }