AEM Managed Services: Aktivieren der SVG-Aufnahme in DAM über die OSGi-Konfiguration
Wenn SVG-Dateien beim Hochladen in DAM auf AEM Managed Services abgelehnt werden, aktualisieren Sie den MIME-Typ und die OSGi-Konfigurationen für die Asset-Upload-Beschränkung, um den image/svg+xml MIME-Typ zuzulassen. Behalten Sie die Änderung im Projekt-Code bei, damit er zukünftige Bereitstellungen übersteht.
Beschreibung description
Umgebung
Adobe Experience Manager (AEM) (alle Versionen, Managed Services)
Problem/Symptome
Sie können keine SVG-Dateien in DAM hochladen. Der Versuch, SVG-Assets hochzuladen, kann je nach aktuellem MIME-Typ und Upload-Einschränkungskonfigurationen zu Fehlern oder der Ablehnung der Assets führen. Es werden keine spezifischen Fehlermeldungen angezeigt, aber SVG-Dateien werden nicht zur Aufnahme akzeptiert.
- SVG-Dateien werden nicht als zulässige Asset-Typen aufgeführt.
- Die Upload-Schnittstelle kann SVG-Dateien im Hintergrund ablehnen oder eine generische Meldung über einen nicht unterstützten Dateityp anzeigen.
Referenzdokumentation: Konfigurieren der SVG-Unterstützung in AEM
Lösung resolution
Führen Sie diese Schritte aus, um das Problem zu beheben.
-
Rufen Sie die OSGi-Web-Konsole unter
/system/console/configMgrauf einer Entwicklungs- oder Staging-Instanz auf. -
Suchen Sie die Konfigurationen Apache Sling Commons MIME Type Service (
org.apache.sling.commons.mime.internal.MimeTypeServiceImpl) und Day CQ DAM Asset Upload Restriction (com.day.cq.dam.core.impl.assetupload.DamUploadAssetFilter). -
Fügen Sie im Apache Sling Commons MIME Type Service
image/svg+xml svgzurmime.typesEigenschaft hinzu. -
Wenn Upload-Beschränkungen aktiviert sind, fügen Sie
image/svg\+xmlzurallowedAssetMimes-Eigenschaft in Day CQ DAM Asset Upload Restriction hinzu. -
Speichern Sie die Änderungen und stellen Sie sicher, dass SVG-Dateien hochgeladen werden können.
-
Verlassen Sie sich nicht auf manuelle Änderungen der Web-Konsole als langfristige Quelle der Wahrheit für die Produktion. Behalten Sie die Konfiguration in Ihrer Codebasis bei, damit sie über Bereitstellungen und Umgebungen hinweg reproduzierbar bleibt.
-
Verwalten Sie die OSGi-Konfiguration in projektgesteuerten Pfaden, z. B.:
/apps/<project>/config/org.apache.sling.commons.mime.internal.MimeTypeServiceImpl.cfg.json/apps/<project>/config/com.day.cq.dam.core.impl.assetupload.DamUploadAssetFilter.cfg.json
-
Verwenden Sie für die SVG-Unterstützung eine Konfiguration wie die folgende:
org.apache.sling.commons.mime.internal.MimeTypeServiceImpl.cfg.jsoncode language-none { "mime.types": [ "image/svg+xml svg", "image/png png", "image/jpeg jpg jpeg" ] }com.day.cq.dam.core.impl.assetupload.DamUploadAssetFilter.cfg.jsoncode language-none { "allowAllMime": false, "allowedAssetMimes": [ "image/svg\+xml", "image/jpeg", "image/png" ] } -
Verwenden Sie bei Bedarf Ausführungsmodus-spezifische Ordner wie
/apps/<project>/config.author/oder/apps/<project>/config.publish/. -
Stellen Sie diese Konfigurationsdateien mithilfe Ihres standardmäßigen Managed Services-Bereitstellungsprozesses bereit.
-
Überprüfen Sie nach der Bereitstellung die Funktion SVG-Upload in der Zielumgebung.