public void UploadPartToCloud(Stream fileStream, long uploadedBytes, long maxChunkedBytes) { int partNumber = uploadPartETags.Count() + 1; // current part // 2. Upload Parts. UploadPartRequest request = new UploadPartRequest(); request.BucketName = this.DestinationBucket; request.Key = this.DestinationFilename; request.UploadId = initResponse.UploadId; request.PartNumber = partNumber; request.PartSize = fileStream.Length; //request.FilePosition = uploadedBytes // remove this line? request.InputStream = fileStream; // as UploadPartRequest; var up = client.UploadPart(request); uploadPartETags.Add(new PartETag() { ETag = up.ETag, PartNumber = partNumber }); }