diff --git a/services/src/main/java/org/fao/geonet/api/records/attachments/FilesystemStore.java b/services/src/main/java/org/fao/geonet/api/records/attachments/FilesystemStore.java index ff90ae25c7e..e82e4f0ccf7 100644 --- a/services/src/main/java/org/fao/geonet/api/records/attachments/FilesystemStore.java +++ b/services/src/main/java/org/fao/geonet/api/records/attachments/FilesystemStore.java @@ -25,6 +25,7 @@ package org.fao.geonet.api.records.attachments; +import com.google.common.net.UrlEscapers; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.fao.geonet.ApplicationContextHolder; @@ -124,7 +125,9 @@ public List getResources(ServiceContext context, String metada Files.newDirectoryStream(resourceTypeDir, filter)) { for (Path path : directoryStream) { MetadataResource resource = new FilesystemStoreResource( - metadataUuid + "/attachments/" + path.getFileName(), + UrlEscapers.urlFragmentEscaper().escape(metadataUuid) + + "/attachments/" + + UrlEscapers.urlFragmentEscaper().escape(path.getFileName().toString()), settingManager.getNodeURL() + "api/records/", visibility, Files.size(path)); diff --git a/web-ui/src/main/resources/catalog/components/filestore/partials/filestore.html b/web-ui/src/main/resources/catalog/components/filestore/partials/filestore.html index 6248051faa4..4fcdd89449a 100644 --- a/web-ui/src/main/resources/catalog/components/filestore/partials/filestore.html +++ b/web-ui/src/main/resources/catalog/components/filestore/partials/filestore.html @@ -13,7 +13,7 @@ - {{r.id.split('/').splice(2).join('/')}} + {{r.id.split('/').splice(2).join('/') | decodeURIComponent}}