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