我正在尝试使用AWS Api来设置多个对象的内容类型,并向它们添加'content-encoding: gzip'头。以下是我执行此操作的代码:
for (S3ObjectSummary summary : objs.getObjectSummaries() )
{
String key = summary.getKey();
if (! key.endsWith(".gz"))
continue;
ObjectMetadata metadata = new ObjectMetadata();
metadata.addUserMetadata("Content-Encoding", "gzip");
metadata.addUserMetadata("Content-Type", "application/x-gzip");
final CopyObjectRequest request = new CopyObjectRequest(bucket, key, bucket, key)
.withSourceBucketName( bucket )
.withSourceKey(key)
.withNewObjectMetadata(metadata);
s3.copyObject(request);
}
当我运行这段代码时,结果如下所示:
可以看到,我的自定义标头前缀x-amz-meta
已经被添加,并且它们被转换为小写。而content-type
标头被忽略了,它将www/form-encoded
作为标头值。我该怎么做才能让它接受我的标头值呢?