From 0859de8b7bc26b517d79bc5f6fd2151864947fe5 Mon Sep 17 00:00:00 2001 From: RTLCoil Date: Mon, 1 Jun 2020 18:13:41 +0300 Subject: [PATCH] Detect data URLs with suffix in mime type --- .../src/main/java/com/cloudinary/utils/StringUtils.java | 2 +- .../main/java/com/cloudinary/test/AbstractUploaderTest.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cloudinary-core/src/main/java/com/cloudinary/utils/StringUtils.java b/cloudinary-core/src/main/java/com/cloudinary/utils/StringUtils.java index f12a33cb..73ddf45d 100644 --- a/cloudinary-core/src/main/java/com/cloudinary/utils/StringUtils.java +++ b/cloudinary-core/src/main/java/com/cloudinary/utils/StringUtils.java @@ -209,7 +209,7 @@ public static String read(InputStream in) throws IOException { } public static boolean isRemoteUrl(String file) { - return file.matches("ftp:.*|https?:.*|s3:.*|gs:.*|data:([\\w-]+/[\\w-]+)?(;[\\w-]+=[\\w-]+)*;base64,([a-zA-Z0-9/+\n=]+)"); + return file.matches("ftp:.*|https?:.*|s3:.*|gs:.*|data:([\\w-]+/[\\w-]+(\\+[\\w-]+)?)?(;[\\w-]+=[\\w-]+)*;base64,([a-zA-Z0-9/+\n=]+)"); } /** diff --git a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractUploaderTest.java b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractUploaderTest.java index b111836b..6d25cfc2 100644 --- a/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractUploaderTest.java +++ b/cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractUploaderTest.java @@ -137,7 +137,8 @@ public void testIsRemoteUrl() { "gs://cloudinary/images/old_logo.png", "data:image/gif;charset=utf8;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", "data:image/gif;param1=value1;param2=value2;base64," + - "R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}; + "R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", + "data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg"}; for (String url : urls) { assertTrue(isRemoteUrl(url));