So you can force a download by using Content-Disposition: attachment
Content-Disposition: inline
is the default and should display in the browser, and it does in fact work with most files like PNG, JPG, etc.
But for some reason somehow when generating a presigned URL from S3, PDF files will always force download even if I don't use the content-disposition: attachment header.
I want to be able to make the PDF open in the browser when the browser allows it
I am using the presigned URL generate call from S3 client http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html
Check you file's metadata and remove Content-Disposition entry from that file. and set content type according to the file type.
Like for text file Content-Type='text/plain'
image png Content-Type='image/png'
pdf Content-Type=application/pdf
pdfxml Content-Type=application/vnd.adobe.pdfxml
If your file's Content-Type is binary/octet-stream then it will download instead of display.
Thanks
You also need to set the Content-Type
correctly. The browser will check the content-type value, and if it isn't something it knows how to display it will always just download the file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With