示例#1
0
        public async Task <Uri> Put(Stream stream, TimeSpan?timeToLive = null, CancellationToken cancellationToken = new CancellationToken())
        {
            var name    = _fileNameCreator.Create();
            var address = _uriCreator.Create(name);

            var reference = _enchiladaFilesystemResolver.OpenFileReference(address.AbsoluteUri);

            using (var writeSteam = await reference.OpenWriteAsync()
                                    .ConfigureAwait(false))
            {
                await stream.CopyToAsync(writeSteam)
                .ConfigureAwait(false);

                await stream.FlushAsync(cancellationToken)
                .ConfigureAwait(false);
            }

            return(address);
        }