Uploading PDF to Amazon S3 and display in-browser

2020-02-28 21:52发布

问题:

I am uploading PDF's to AmazonS3 manually, using Panic Transmis and via a PHP script/API. For some reason, some display in your browser, and some force download. I have checked permission and can not seem to see any issues, Can anyone help explain how to make PDF's always display in browser ( unless the user specifies otherwise ).

I don't think it is as browser issue.

回答1:

You need to change the Content-Type and Content-Disposition.

Content-Type: application/pdf;
Content-Disposition: inline;

Using the AWS S3 console, find the file and using the context menu (right click) select Properties then it's under Metadata.

Or change this programmatically: http://docs.aws.amazon.com/AWSSDKforPHP/latest/index.html#m=AmazonS3/create_object



回答2:

In companion with well's answer, here an example:

public function save($bucket, $name, $content, $options = [])
{
    $this->s3->putObject([
        'Bucket' => $bucket,
        'Key' => $name,
        'Body' => $content,
    ] + $options);
}

$this->bucket->save('my-bucket', 'SofiaLoren.pdf', $content, [
    'ContentType' => 'application/pdf',
    'ContentDisposition' => 'inline',
]);