I need to provide website visitors a link to download an original high resolution image. If I simply link to the image with a href=\"image.jpg\", the browser displays the image
You can use the content-disposition header to let the client download the image:
Content-Disposition: attachment; filename=<file name.ext>
You are right. There are some headers needed to do this. These would be:
Content-type: image/png
Content-Disposition: attachment; filename="some_image.png"
I am not sure how S3 handles this but if you want do display these images, the Content-Disposition
header should be left out.
EDIT: Displaying the image via <img src="some_image.png" alt="" />
continues to work even with both headers being sent. The image displays nicely in my tests.