S3存储桶复制对象

时间:2020-03-04 11:47:09

标签: amazon-web-services spring-boot amazon-s3

我目前正在研究AWS s3存储桶及其服务。我正在将对象从一个存储桶复制到文件夹中的另一个存储桶。作为回应,我正在比较元数据中的eTag。如果这些标签相等,那么我将返回目标存储桶的图像路径。但是虽然从reactjs渲染响应,但显示的是损坏的图像。刷新后,它向我显示了正确的结果。我不明白为什么会这样。

 ObjectMetadata metadata = s3client.getObjectMetadata(bucketName, sourceKey);
            CopyObjectResult copyObjectResult = s3client.copyObject(bucketName, sourceKey, bucketName, destinationKey);
            if (metadata.getETag().equals(copyObjectResult.getETag())) {
                s3client.deleteObject(bucketName, sourceKey);

                LOG.info("profile successfully uploaded to bucket");
                return s3BucketConfiguration.getS3URL() + "/" + Constants.REVIEWER_DIR + "/" + FilenameUtils.getName(url.getPath());
            } else {
                LOG.error("error in upload profile to bucket");
                return String.format("%s/%s/%s", s3BucketConfiguration.getS3URL(), Constants.REVIEWER_DIR, Constants.DEFAULT_IMAGE);
            }

每次我获得LOG时,个人资料都已成功上传到存储桶。 而且,它仍然呈现残破的图像。我很困惑应该是什么问题。 请帮我解决这个问题。

0 个答案:

没有答案