my current setup is like this
AmazonS3 s3Client = new AmazonS3Client();
InputStream stream = new URL(filePath).openStream();
ObjectMetadata objectMetadata = new ObjectMetadata();
PutObjectRequest putObjectRequest = new PutObjectRequest(amazonFileUploadLocationOriginal, keyName, stream, objectMetadata);
PutObjectResult result = s3Client.putObject(putObjectRequest);
And I'm always getting this error
java.lang.IllegalStateException: Content has been consumed
And I know it is caused by calling
HttpEntity.getContent()
multiple times
But I can't seem to debug/find where it is being called multiple times
解决方案
Since you are uploading from a file, you could use this constructor for the PutObjectRequest:
File theFile = new File(filePath);
PutObjectRequest putObjectRequest = new PutObjectRequest(amazonFileUploadLocationOriginal, keyName, theFile);
putObjectRequest.withMetadata(objectMetadata);