Hello,
I am uploading file to Amazon cloud storage using WCF Rest service. The service receives Stream as a input and this stream is being passed to CloudUpload API. Below is my code.
public void UploadFileWithStream(Stream FileStream)
{
try
{
TransferUtility fileTransferUtility = new
TransferUtility(new AmazonS3Client("access key", "secret access key", Amazon.RegionEndpoint.USEast1));
TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
BucketName = "bucketNM",
InputStream = FileStream,
StorageClass = S3StorageClass.Standard,
PartSize = 6291456,
Key = @"Trial/filenm.jpg",
CannedACL = S3CannedACL.BucketOwnerFullControl
};
fileTransferUtility.Upload(fileTransferUtilityRequest);
}
catch (Exception ex)
{
}
}
I am getting the following error in this method.
Specified method is not supported. at System.ServiceModel.Dispatcher.StreamFormatter.MessageBodyStream.get_Length()
at Amazon.S3.Transfer.TransferUtilityUploadRequest.get_ContentLength()
at Amazon.S3.Transfer.TransferUtility.IsMultipartUpload(TransferUtilityUploadRequest request)
at Amazon.S3.Transfer.TransferUtility.GetUploadCommand(TransferUtilityUploadRequest request)
at Amazon.S3.Transfer.TransferUtility.UploadHelper(TransferUtilityUploadRequest request)
at Amazon.S3.Transfer.TransferUtility.Upload(TransferUtilityUploadRequest request)
at WCFRestService.StreamAsInput.UploadFileWithStream(Stream FileStream) in D:\Research\Research\RestService\StreamAsInput.svc.cs:line 42
Any help will be greatly appreciated