Exemplo n.º 1
0
        public async Task <bool> SaveFileAsync(string path, Stream stream, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (String.IsNullOrEmpty(path))
            {
                throw new ArgumentNullException(nameof(path));
            }

            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            var req = new PutObjectRequest {
                CannedACL  = _cannedAcl,
                BucketName = _bucket,
                Key        = path.Replace('\\', '/'),
                AutoResetStreamPosition = false,
                AutoCloseStream         = !stream.CanSeek,
                InputStream             = stream.CanSeek ? stream : AmazonS3Util.MakeStreamSeekable(stream),
                UseChunkEncoding        = _useChunkEncoding
            };

            var res = await _client.PutObjectAsync(req, cancellationToken).AnyContext();

            return(res.HttpStatusCode.IsSuccessful());
        }
Exemplo n.º 2
0
        public async Task <bool> Upload(string key, Stream stream, CancellationToken cancellationToken = default)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException(nameof(key));
            }

            if (stream == null)
            {
                throw new ArgumentNullException(nameof(stream));
            }

            var request = new PutObjectRequest
            {
                CannedACL  = _cannedAcl,
                BucketName = _bucketName,
                Key        = key.Replace('\\', '/'),
                AutoResetStreamPosition = false,
                AutoCloseStream         = !stream.CanSeek,
                InputStream             = stream.CanSeek ? stream : AmazonS3Util.MakeStreamSeekable(stream),
                UseChunkEncoding        = _useChunkEncoding,
            };

            var response = await _client.PutObjectAsync(request, cancellationToken).ConfigureAwait(false);

            return(response.HttpStatusCode.IsSuccessful());
        }
Exemplo n.º 3
0
        public async Task <bool> SaveFileAsync(string path, Stream stream, CancellationToken cancellationToken = default(CancellationToken))
        {
            using (var client = CreateClient()) {
                var req = new PutObjectRequest {
                    BucketName  = _bucket,
                    Key         = path.Replace('\\', '/'),
                    InputStream = AmazonS3Util.MakeStreamSeekable(stream)
                };

                var res = await client.PutObjectAsync(req, cancellationToken).AnyContext();

                return(res.HttpStatusCode.IsSuccessful());
            }
        }
Exemplo n.º 4
0
 public Stream CreateReadStream()
 {
     return(AmazonS3Util.MakeStreamSeekable(getfileObject().ResponseStream));
 }