我可以从S3对象stream中获取Content-Type而无需对headObject进行显式调用吗?
我正在从S3和通过我的API的文件stream到客户端,以执行访问控制规则。 这样做,我需要适当地设置内容types标题。 有没有人知道一种方法来从S3中获取内容types,而不需要单独调用headObject? 现在我必须首先获取对象元数据,然后再发出请求来获取对象stream。
编辑:澄清,我正在使用
return s3.getObject(params).createReadStream();
得到stream,所以没有我知道的callback。
S3将通过调用putObject
函数保存您指定的Content-Type
对象,同时保存您的数据。
s3Instance.putObject({ Bucket: "my-bucket", ContentType: "application/xml", Body: xmlContent }, function(err) { //callback here });
来源 : http : //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property
调用getObject
函数时返回对象的Content-Type
将与上面指定的相同。 但是,您可以在调用getObject
函数时设置所需的Content-Type
:
s3Instance.getObject({ Bucket: "my-bucket", Key: "MyXMLFile", ContentType: "text/xml" }, function(err, data) { //callback here });
来源 : http : //docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property