From db5faff863dc7f8353f7d0b943d1d3578cf912ef Mon Sep 17 00:00:00 2001 From: Jami Schwarzwalder Date: Mon, 22 Jul 2019 16:15:57 -0700 Subject: [PATCH] encoding url --- .../src/main/java/com/example/s3/CopyObject.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/javav2/example_code/s3/src/main/java/com/example/s3/CopyObject.java b/javav2/example_code/s3/src/main/java/com/example/s3/CopyObject.java index 0af7eab4f5f..7578dec2bc9 100644 --- a/javav2/example_code/s3/src/main/java/com/example/s3/CopyObject.java +++ b/javav2/example_code/s3/src/main/java/com/example/s3/CopyObject.java @@ -27,7 +27,11 @@ import software.amazon.awssdk.services.s3.model.CopyObjectRequest; import software.amazon.awssdk.services.s3.model.CopyObjectResponse; import software.amazon.awssdk.services.s3.model.S3Exception; - + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + // snippet-end:[s3.java2.copy_object.import] /** * Copy an object from one Amazon S3 bucket to another. @@ -59,9 +63,15 @@ public static void main(String[] args) object_key, from_bucket, to_bucket); Region region = Region.US_WEST_2; S3Client s3 = S3Client.builder().region(region).build(); + String encodedUrl = null; + try { + encodedUrl = URLEncoder.encode(from_bucket + "/" + object_key, StandardCharsets.UTF_8.toString()); + } catch (UnsupportedEncodingException e) { + System.out.println("URL could not be encoded: " + e.getMessage()); + } CopyObjectRequest copyReq = CopyObjectRequest.builder() - .copySource(from_bucket + "/" + object_key) + .copySource(encodedUrl) .bucket(to_bucket) .key(object_key) .build();