强制在浏览器中查看S3 PDF而不是下载

dom*_*ri7 3 amazon-s3 amazon-web-services

因此,您可以使用强制下载 Content-Disposition: attachment

Content-Disposition: inline 是默认设置,应显示在浏览器中,并且实际上适用于大多数文件,例如PNG,JPG等。

但是由于某种原因,从S3生成预签名URL时,即使我不使用content-disposition:附件标头,PDF文件也始终会强制下载。

我希望能够在浏览器允许的情况下在浏览器中打开PDF

我正在使用来自S3客户端http://docs.aws.amazon.com/AmazonS3/latest/dev/ShareObjectPreSignedURLJavaSDK.html的预签名URL生成调用

Kus*_*yas 5

检查文件的元数据,然后从该文件中删除“ 内容处置”条目。并根据文件类型设置内容类型。

类似于文本文件Content-Type ='text / plain'

image png Content-Type ='image / png'

pdf 内容类型 =应用程序/ pdf

pdfxml 内容类型 = application / vnd.adobe.pdfxml

如果文件的Content-Type是二进制/八位字节流,那么它将下载而不是显示。

谢谢


小智 5

您必须按如下方式设置 putObject 参数才能查看 pdf 而不是下载。

 params = {
        Bucket: process.env.S3_BUCKET,
        Key: <fileName>,
        Body: <fileContent>,
        ContentDisposition:"inline",
        ContentType:"application/pdf"
    };
Run Code Online (Sandbox Code Playgroud)