【问题标题】:Can not get Metadata from s3 object无法从 s3 对象获取元数据
【发布时间】:2018-03-16 19:12:18
【问题描述】:

我手动将文件上传到 S3,将元数据 x-amz-meta-alt-name 添加到此对象。

使用 AWS Javascript SDK 我尝试获取元数据但得到一个空对象。

var params = {
    Bucket: "mybucket",
    Key: "myfile.txt"
};
s3.headObject(params, function(err, data) {
    console.log(data.Metadata['x-amz-meta-alt-name']);
});

输出: undefined

你有什么解决办法吗?

也许我需要配置一些策略。

【问题讨论】:

  • data.Metadata 的调试说明了什么?
  • 不就是一个header值吗?
  • @SimonFranzen data.Metadata 返回空对象
  • 我刚刚发现元数据存在于HTTP响应中,但我无法在JS中得到它。

标签: amazon-s3


【解决方案1】:

我认为您必须像这样在 CORS 设置中公开该值

<CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>HEAD</AllowedMethod> 
    <AllowedHeader>*</AllowedHeader>
    <ExposeHeader>x-amz-meta-description</ExposeHeader>
</CORSRule>

但我不确定您是否可以在回调中获取这些值。

本帖将帮助您了解什么是可能的,什么不是https://github.com/aws/aws-sdk-js/issues/232

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多