Some PDFs uploaded to S3 are given the Content-Type 'Image', and then won't open in a browser
I am using a Wordpress plugin called Media Cloud, which allows me to upload files into my CMS, which pass through to an S3 bucket. I'm not sure whether this is happening at the plugin level or the S3 level, but sometimes, when the PDF arrives in my bucket, the metadata shows the Content-Type as image/png, and not application/pdf.
This means that the PDF won't open in a browser, because the browser is trying to treat it as an image. Does anyone know why this might happen, and if there is a rule I can set to force all pdfs to have the PDF metadata?
The content-type metadata is set while uploading the file. Have you checked how your CMS processes and identifies files? It sounds like the error happens while the CMS is uploading it into S3. The default behaviour when uploading to S3 depends on the AWS SDK that your CMS uses.
If you can't fix this on the CMS side you could consider creating your own little Lambda function that is triggered when file is uploaded and it then checks if the content-type in metadata matches the file extension. If it doesn't it could update it automatically. Check out how to trigger Lambda based on S3 in our documentation.
How do I install the unlimited strength policy for JCE on AWS Workspaces?asked 2 years ago
Networking Error on S3 management consoleasked a year ago
Uploading greater than 6 MB file to S3 through API Gateway results in Request too long error, Is that expected ?asked 2 months ago
Some PDFs uploaded to S3 are given the Content-Type 'Image', and then won't open in a browserasked 17 days ago
Corrupted Binary Filesasked 18 days ago
Access denied using cyberduck or s3 Browser to upload object into s3 bucketasked 3 years ago
How to limit s3 mutlipart upload filesize?asked 21 days ago
Private S3 bucket and http referer policy for a Wordpress site not workingasked a year ago
Video Embed in WordPress post showing errorasked 4 months ago
Create aws_secret_access_key for S3 bucketasked 7 months ago