为正在上载到AWS S3的映像设置Expires和Cache-Control标头

时间:2017-08-23 16:32:38

标签: javascript node.js amazon-web-services amazon-s3

我正在使用名为<ul id="example1"> <li> <label tabindex='-1' for="categories">Category</label> <input id="categories" type="checkbox"> <ul> <li>cars</li> <li>animals</li> </ul> </li> <li> <label tabindex='-1' for="settings">Settings</label> <input id="settings" type="checkbox"> <ul> <li>general</li> <li>notifications</li> </ul> </li> </ul>的npm包,它是Node.js的node-s3-client的高级包装器,用于将本地项目目录上传到S3存储桶。

使用该包,我将一些元数据传递给我的文件,即aws-sdkExpires的键值对。我正在上传整个目录,其中包含HTML,JS,CSS,JPEG文件。但是,当我检查我的S3存储桶时,我设置的标题仅适用于到JS和CSS文件,这些标题不会应用于图像。

我已经阅读了软件包和aws-sdk的文档,但我似乎无法找到导致选择性地将我的元数据应用于某些文件而不是应用于其他文件的问题。

这是我的配置对象:

Cache-Control

可能导致此问题的原因是什么?

1 个答案:

答案 0 :(得分:1)

我认为您在如何设置上传对象的参数方面存在问题。尝试:

const s3Config= {
    localDir: './dist',
    deleteRemoved: false,
    s3Params: {
        Bucket: 'cdn',
        Prefix: 'dist/',
        CacheControl: 'max-age=31536000',
        Expires: oneYearLater(new Date())
    }
}