From b6d89d48064d410e82201eec3e0a75006093c757 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Tue, 10 Sep 2019 09:25:08 +0200 Subject: [PATCH] OO-4237: shortend filename of thumbnails if necessary --- .../vfs/manager/VFSRepositoryServiceImpl.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java b/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java index 0aa5c96e59e..0ebb6f12870 100644 --- a/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java +++ b/src/main/java/org/olat/core/commons/services/vfs/manager/VFSRepositoryServiceImpl.java @@ -1226,10 +1226,19 @@ public class VFSRepositoryServiceImpl implements VFSRepositoryService, GenericEv String extension = FileUtils.getFileSuffix(originalFilename); String nameOnly = originalFilename.substring(0, originalFilename.length() - extension.length() - 1); String thumbnailExtension = preferedThumbnailType(extension); - StringBuilder sb = new StringBuilder(128); - sb.append("._oo_th_").append(fill).append("_").append(maxWidth).append("_").append(maxHeight) - .append("_").append(nameOnly).append(".").append(thumbnailExtension); + sb.append("._oo_th_").append(fill).append("_").append(maxWidth).append("_").append(maxHeight).append("_"); + + if(nameOnly.length() + sb.length() + thumbnailExtension.length() > 230) { + log.info("File name too long: {}", nameOnly); + int maxLength = 230 - sb.length() - thumbnailExtension.length(); + if(maxLength < 1) { + maxLength = 1; + } + nameOnly = nameOnly.substring(0, maxLength); + } + + sb.append(nameOnly).append(".").append(thumbnailExtension); return sb.toString(); } -- GitLab