I have a large set of images, stored on Amazon S3. I would like my users to be able to download the original version of an image, rather then watching it in the browser. I know I can do this with PHP by setting headers and such, and I already have a plugin + controller waiting to do this, but is there an easy way to access the image data stored in S3, or should I do this directly through the S3 Class?
Headers passed back from S3 have to be set either on object upload or copy. You would have to use S3::copyObject() to copy the object to itself and set the appropriate headers (mentioned here: https://stackoverflow.com/a/25933113/2040791)
Alternatively, you can use the method mentioned in the same thread and force a download using HTML5, but that won't work on all browsers.