【问题标题】:How to generate viewable s3 url nodejs如何生成可查看的 s3 url nodejs
【发布时间】:2018-03-19 04:15:46
【问题描述】:

我使用下面的代码来获取签名的 url。我得到一个签名的网址,一旦我打开网址,它就会下载文件。但我想要一个可以显示文件的网址。就像在新标签页中打开文件一样。

我正在使用 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);
        });

有谁知道如何生成一个可以显示文件的网址。

【问题讨论】:

标签: node.js amazon-s3 aws-sdk


【解决方案1】:

如果您在上传文件时没有正确设置Content-Type,则会出现这种情况,因为浏览器正确判断的default type is binary/octet-stream 无法内联显示。

您可以通过将 getSignedUrl() 请求中的 ResponseContentType 设置为正确的值来解决此问题。

PDF 文件的正确类型是application/pdf

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 2017-06-29
    • 2015-02-05
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多