为正在上传到AWS S3的图像设置过期和caching控制标头
我正在使用名为node-s3-client
的npm包,它是aws-sdk
for Node.js的高级包装,将本地项目目录上传到S3存储桶。
使用该包,我将一些元数据传递给我的文件,即Expires
和Cache-Control
键值对。 我正在上传整个由HTML,JS,CSS,JPEG文件组成的目录。 但是,当我检查我的S3存储桶时,我设置的标题只适用于JS和CSS文件,这些标题不适用于图像。
我已经通过包和aws-sdk的文档,但我似乎无法find是什么原因导致有select地将我的元数据应用于某些文件而不适用于其他文件的问题。
这是我的configuration对象:
const s3 = require('node-s3-client') const s3Config= { localDir: './dist', deleteRemoved: false, s3Params: { Bucket: 'cdn', Prefix: 'dist/', Metadata: { 'Cache-Control': 'max-age=31536000', 'Expires': oneYearLater(new Date()) } } } const client = s3.createClient({ s3Options: { accessKeyId: KEY_ID, secretAccessKey: ACCESS_KEY, signatureVersion: 'v4', region: 'us-east-2', s3DisableBodySigning: true } }) client.uploadDir(s3Config)
什么可能导致这个问题?
我想你有一个问题,你如何设置你的对象params上传。 尝试:
const s3Config= { localDir: './dist', deleteRemoved: false, s3Params: { Bucket: 'cdn', Prefix: 'dist/', CacheControl: 'max-age=31536000', Expires: oneYearLater(new Date()) } }
- 在Meteor中正确启用filepicker.io的安全性
- Node.js上传到Amazon S3,但文件损坏
- 使用aws-sdk将svresize的图像上传到s3
- 使用带有AWS KMS的Nodejs在s3中encryption和解密文件
- 简单的WebApp – 通过HTML / AWS Javascript SDK将file upload到S3
- Cant的保存图像与awssum和nodejs亚马逊S3
- 在S3 API上使用multer上传图片返回undefined
- 如何将子目录path传递给GunDB S3存储驱动程序,以便可以使用非Gun数据共享相同的S3存储桶?
- 亚马逊S3和节点jsvideostream和缩略图?