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生成调用
检查文件的元数据,然后从该文件中删除“ 内容处置”条目。并根据文件类型设置内容类型。
类似于文本文件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)
| 归档时间: |
|
| 查看次数: |
3183 次 |
| 最近记录: |