【发布时间】:2020-11-12 14:53:52
【问题描述】:
使用适用于 Java 的 AWS 开发工具包版本 2,我正在尝试为我上传的对象设置 Content-Type 元数据。
我使用此代码上传图片:
S3Client s3Client = S3Client.builder().
region(MY_REGION).
credentialsProvider(MY_CREDENTIALS).
build();
Map<String, String> image_metadata = new HashMap<>();
image_metadata.put("Content-Type", "image/jpeg");
PutObjectRequest request = PutObjectRequest.builder().
bucket(MY_BUCKET).
key(remoteDir + remoteFileName).
acl(ObjectCannedACL.PUBLIC_READ).
storageClass(StorageClass.STANDARD).
metadata(image_metadata).
build();
如果我不设置元数据方法,对象内容类型将被 AWS 猜测,我发现每个图像都显示为“application/octet-stream”而不是“image/jpeg”。
但是当设置元数据方法时,对象出现了2个元数据:
Content-Type=application/octet-stream
x-amz-meta-content-type=image/jpeg
那么...我如何设置元数据以实现仅一种元数据?:
Content-Type=image/jpeg
谢谢!
【问题讨论】:
标签: java amazon-s3 metadata aws-sdk