Unfortunately, no. 
你好,我遇到了同样的问题。
PDF 文件无法显示,总是直接下载,无论我在浏览器(Chrome、Firefox)中如何配置。
根据我的阅读,这与文件的 content_type 有关。
我找到了以下内容:
很好的问题!决定该行为的是服务器发送给客户端的“Content-type”响应头。你可以使用兼容 S3 的工具来定义该头的值。这里有详细的解释:
但我一直无法进一步解决。
看起来问题在于设置 Content-Type 或 content-disposition,但我不确定是否需要在上传时进行设置。
也许有专家能帮我们解决这个问题。
我发现这些信息比之前的更清晰。
我的问题是我不知道如何用它来解决当前的情况。:sob:
如果你希望浏览器将文件视为 PDF,你需要告知它该文件是 PDF。做法是发送相应的标头:
Content-type: application/pdfS3 当前发送的标头是:
Content-type: application/octet-stream由于你是将文件上传到 S3,你可以在上传时设置正确的 MIME 类型,或者之后使用某些 S3 工具(例如 Windows 上的 s3cmd)进行设置。
根据你提供的文档链接,putObjectFile 函数已被弃用,但其定义如下:
putObjectFile (string $file, string $bucket, string $uri, [constant $acl = S3::ACL_PRIVATE], [array $metaHeaders = array()], [string $contentType = null])如你所见,最后一个参数是 contentType,因此在上传文件时你可以将其设置为 application/pdf。
这将确保在下载时设置正确的标头。