Node.js 我可以从S3对象流中获取内容类型而不显式调用headObject吗?
我将文件从S3流式传输,并通过API传输到客户端,以强制执行访问控制规则。在这样做时,我需要适当地设置内容类型标题。有人知道不单独调用headObject就从S3获取内容类型的方法吗?现在,我必须首先获取对象元数据,然后再请求获取对象流 编辑: 为了澄清,我使用了Node.js 我可以从S3对象流中获取内容类型而不显式调用headObject吗?,node.js,amazon-web-services,amazon-s3,Node.js,Amazon Web Services,Amazon S3,我将文件从S3流式传输,并通过API传输到客户端,以强制执行访问控制规则。在这样做时,我需要适当地设置内容类型标题。有人知道不单独调用headObject就从S3获取内容类型的方法吗?现在,我必须首先获取对象元数据,然后再请求获取对象流 编辑: 为了澄清,我使用了 return s3.getObject(params).createReadStream(); 获取流,因此我知道没有回调。S3将使用内容类型保存对象,您可以通过调用putObject函数在保存数据时指定该类型 s3Instance
return s3.getObject(params).createReadStream();
获取流,因此我知道没有回调。S3将使用
内容类型保存对象,您可以通过调用putObject
函数在保存数据时指定该类型
s3Instance.putObject({
Bucket: "my-bucket",
ContentType: "application/xml",
Body: xmlContent
}, function(err) {
//callback here
});
来源:
调用getObject
函数时返回对象的内容类型
,与上面指定的相同。但是,您可以在调用getObject
函数时设置所需的内容类型
:
s3Instance.getObject({
Bucket: "my-bucket",
Key: "MyXMLFile",
ContentType: "text/xml"
}, function(err, data) {
//callback here
});
Source:AGET
请求在头中返回的元数据与从头
请求中获得的元数据完全相同。。。因此,您似乎已经在getObject回调的data.ContentType中找到了所需的内容。不是吗?看看这并没有回答问题,当使用s3.getObject(params).createReadStream()模式时如何访问内容类型头。它返回意外键“ContentType”