From 29235e643a0fdaca29836cf8014bdfff67c5e1e0 Mon Sep 17 00:00:00 2001 From: abilan Date: Thu, 13 Jul 2023 15:57:57 -0400 Subject: [PATCH] Fix `S3MessageHandler` for `key` from file --- .../integration/aws/outbound/S3MessageHandler.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/springframework/integration/aws/outbound/S3MessageHandler.java b/src/main/java/org/springframework/integration/aws/outbound/S3MessageHandler.java index a7d4f31..c81e807 100644 --- a/src/main/java/org/springframework/integration/aws/outbound/S3MessageHandler.java +++ b/src/main/java/org/springframework/integration/aws/outbound/S3MessageHandler.java @@ -266,6 +266,9 @@ public class S3MessageHandler extends AbstractReplyProducingMessageHandler { if (this.keyExpression != null) { key = this.keyExpression.getValue(this.evaluationContext, requestMessage, String.class); } + else if (payload instanceof File fileToUpload) { + key = fileToUpload.getName(); + } if (payload instanceof File fileToUpload && fileToUpload.isDirectory()) { UploadDirectoryRequest.Builder uploadDirectoryRequest = @@ -302,9 +305,6 @@ public class S3MessageHandler extends AbstractReplyProducingMessageHandler { requestBody = AsyncRequestBody.fromBytes(body); } else if (payload instanceof File fileToUpload) { - if (key == null) { - putObjectRequestBuilder.key(fileToUpload.getName()); - } if (putObjectRequest.contentMD5() == null) { String contentMd5 = Md5Utils.md5AsBase64(fileToUpload); putObjectRequestBuilder.contentMD5(contentMd5);