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()); }
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()); }
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()); } }
public Stream CreateReadStream() { return(AmazonS3Util.MakeStreamSeekable(getfileObject().ResponseStream)); }