Skip to content

Commit 67c27ac

Browse files
Support for folders
1 parent 2a4a502 commit 67c27ac

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

src/com/cloudinary/Url.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ public String generate(String source) {
124124
prefix = "http://" + subdomain + host;
125125
}
126126
if (!privateCdn || (secure && Cloudinary.AKAMAI_SHARED_CDN.equals(secureDistribution))) prefix = prefix + "/" + cloudName;
127+
128+
if (source.contains("/") && !source.matches("v[0-9]+.*") && !source.matches("https?:/.*") && StringUtils.isBlank(version)) {
129+
version = "1";
130+
}
131+
127132
if (version != null) version = "v" + version;
128133

129134
return StringUtils.join(new String[]{prefix, resourceType, type, transformationStr, version, source}, "/").replaceAll("([^:])\\/+", "$1/");

tests/com/cloudinary/test/CloudinaryTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,4 +331,18 @@ public void testImageTag() {
331331
String result = cloudinary.url().transformation(transformation).imageTag("test", Cloudinary.asMap("alt", "my image"));
332332
assertEquals("<img src='http://res.cloudinary.com/test123/image/upload/c_crop,h_101,w_100/test' alt='my image' height='101' width='100'/>", result);
333333
}
334+
335+
public void testFolders() {
336+
// should add version if public_id contains /
337+
String result = cloudinary.url().generate("folder/test");
338+
assertEquals("http://res.cloudinary.com/test123/image/upload/v1/folder/test", result);
339+
result = cloudinary.url().version(123).generate("folder/test");
340+
assertEquals("http://res.cloudinary.com/test123/image/upload/v123/folder/test", result);
341+
}
342+
343+
public void testFoldersWithVersion() {
344+
// should not add version if public_id contains version already
345+
String result = cloudinary.url().generate("v1234/test");
346+
assertEquals("http://res.cloudinary.com/test123/image/upload/v1234/test", result);
347+
}
334348
}

0 commit comments

Comments
 (0)