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.

  1. Rufen Sie die OSGi-Web-Konsole unter /system/console/configMgr auf einer Entwicklungs- oder Staging-Instanz auf.

  2. 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).

  3. Fügen Sie im Apache Sling Commons MIME Type Service image/svg+xml svg zur mime.types Eigenschaft hinzu.

  4. Wenn Upload-Beschränkungen aktiviert sind, fügen Sie image/svg\+xml zur allowedAssetMimes-Eigenschaft in Day CQ DAM Asset Upload Restriction hinzu.

  5. Speichern Sie die Änderungen und stellen Sie sicher, dass SVG-Dateien hochgeladen werden können.

  6. 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.

  7. 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
  8. Verwenden Sie für die SVG-Unterstützung eine Konfiguration wie die folgende: org.apache.sling.commons.mime.internal.MimeTypeServiceImpl.cfg.json

    code language-none
    {
        "mime.types": [
            "image/svg+xml svg",
            "image/png png",
            "image/jpeg jpg jpeg"
        ]
    }
    

    com.day.cq.dam.core.impl.assetupload.DamUploadAssetFilter.cfg.json

    code language-none
    {
        "allowAllMime": false,
        "allowedAssetMimes": [
            "image/svg\+xml",
            "image/jpeg",
            "image/png"
        ]
    }
    
  9. Verwenden Sie bei Bedarf Ausführungsmodus-spezifische Ordner wie /apps/<project>/config.author/ oder /apps/<project>/config.publish/.

  10. Stellen Sie diese Konfigurationsdateien mithilfe Ihres standardmäßigen Managed Services-Bereitstellungsprozesses bereit.

  11. Überprüfen Sie nach der Bereitstellung die Funktion SVG-Upload in der Zielumgebung.

Verwandtes Lesen

recommendation-more-help
experience-cloud-kcs-help-kbarticles