1
我想创建的ObjectMetadata类的自定义页眉和有下面的代码为它AWS S3响应头
private String cust_header;
public String getcust_header() {
return cust_header;
}
public void setcust_header(String cust_header) {
cust_header = cust_header;
}
这是构造的样子:
private ObjectMetadata(ObjectMetadata from) {
this.userMetadata = from.userMetadata == null
? null
: new TreeMap<String,String>(from.userMetadata);
// shallow clone the meata data
this.metadata = from.metadata == null
? null
: new TreeMap<String, Object>(from.metadata);
this.expirationTime = cloneDate(from.expirationTime);
this.expirationTimeRuleId = from.expirationTimeRuleId;
this.httpExpiresDate = cloneDate(from.httpExpiresDate);
this.ongoingRestore = from.ongoingRestore;
this.restoreExpirationTime = cloneDate(from.restoreExpirationTime);
this.cust_header = "custom header";
}
我想将文件上传到s3实例并获取响应头。以下是我的代码:
AmazonS3 conn = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(Regions.US_WEST_2).build();
Bucket bucket;
if (conn.doesBucketExist("xxx")) {
System.out.println("Bucket already exists");
}
bucket = conn.createBucket("xxx");
ByteArrayInputStream input = new ByteArrayInputStream("Hello World!".getBytes());
ObjectMetadata objectMetadata = new ObjectMetadata();
PutObjectRequest request = new PutObjectRequest(bucket.getName(), "hello.txt", input, objectMetadata);
PutObjectResult response = conn.putObject(request);
S3Object object = conn.getObject(new GetObjectRequest(bucket.getName(), "hello.txt"));
InputStream objectData = object.getObjectContent();
System.out.println("Content-Type: " + object.getObjectMetadata().getContentType() + " custom Header : "
+ object.getObjectMetadata().getcust_header());
我试图打印所有标题。 但是我在尝试打印所有标题时收到空值。有人能解释我哪里出错了吗?