我使用以下代码获取已签名的网址。我收到一个签名的网址,一旦我打开网址下载文件。但我想要一个我可以显示文件的网址。就像在新标签页中打开文件一样。
我正在使用aws-sdk包并生成s3,如下所示
const s3 = new AWS.S3();
s3.getSignedUrl('getObject', {
Expires: options.expires || 300,
Bucket: config.awsBucket,
Key: key,
// ACL: 'public-read',
ResponseContentDisposition :'inline;filename=report.pdf'},
function(err, url) {
if (err) {
return deferred.reject(err);
}
return deferred.resolve(url);
});
有谁知道如何生成我可以显示文件的网址。
答案 0 :(得分:0)
如果您在上传文件时未正确设置Content-Type
,则会出现此行为,因为浏览器正确确定的default type is binary/octet-stream
无法以内联方式显示。
您可以通过将ResponseContentType
请求中的getSignedUrl()
设置为正确的值来解决此问题。
PDF文件的正确类型为application/pdf
。