Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
        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;
        }
Exemplo n.º 3
0
        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);
        }