Is it possible to upload a txt/pdf/png file to Amazon S3 in a single action, and get the uploaded file URL as the response?
If so, is AWS Java SDK the right library that I need to add in my java struts2 web application?
Please suggest me a solution for this.
Advertisement
Answer
To make the file public before uploading you can use the #withCannedAcl
method of PutObjectRequest
:
myAmazonS3Client.putObject(new PutObjectRequest('some-grails-bucket', 'somePath/someKey.jpg', new File('/Users/ben/Desktop/photo.jpg')).withCannedAcl(CannedAccessControlList.PublicRead)) String url = myAmazonS3Client.getUrl('some-grails-bucket', 'somePath/someKey.jpg').toString();