AEM Managed Services: abilitare l’acquisizione di SVG in DAM tramite la configurazione OSGi

Se i file SVG vengono rifiutati quando li carichi in DAM su AEM Managed Services, aggiorna le configurazioni OSGi con restrizioni di caricamento risorse e tipo MIME per consentire il tipo MIME image/svg+xml. Mantenere la modifica nel codice del progetto in modo che sopravviva alle distribuzioni future.

Descrizione description

Ambiente

Adobe Experience Manager (AEM) (tutte le versioni, Managed Services)

Problema/Sintomi

Non è possibile caricare file SVG in DAM. I tentativi di caricare le risorse SVG possono causare errori o il rifiuto delle risorse, a seconda del tipo MIME corrente e delle configurazioni di restrizioni di caricamento. Non vengono visualizzati messaggi di errore specifici, ma i file SVG non sono accettati per l’acquisizione.

  • I file SVG non sono elencati come tipi di risorse consentiti.
  • L’interfaccia di caricamento potrebbe rifiutare silenziosamente i file SVG o visualizzare un messaggio generico di tipo di file non supportato.

Documentazione di riferimento: Configurazione del supporto SVG in AEM

Risoluzione resolution

Per risolvere il problema, segui la procedura riportata di seguito.

  1. Accedi alla console Web OSGi all’indirizzo /system/console/configMgr in un’istanza di sviluppo o di gestione temporanea.

  2. Individua le configurazioni Apache Sling Commons MIME Type Service (org.apache.sling.commons.mime.internal.MimeTypeServiceImpl) e Day CQ DAM Asset Upload Restriction (com.day.cq.dam.core.impl.assetupload.DamUploadAssetFilter).

  3. In Apache Sling Commons MIME Type Service, aggiungi image/svg+xml svg alla proprietà mime.types.

  4. Se le restrizioni di caricamento sono abilitate, aggiungi image/svg\+xml alla proprietà allowedAssetMimes in Limitazione caricamento risorse Day CQ DAM.

  5. Salva le modifiche e verifica che i file SVG possano essere caricati.

  6. Non fare affidamento sulle modifiche manuali della console web come fonte di verità a lungo termine per la produzione. Mantenere la configurazione nella base di codice in modo che rimanga riproducibile in tutte le implementazioni e gli ambienti.

  7. Gestisci la configurazione OSGi nei percorsi controllati dal progetto, ad esempio:

    • /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. Utilizza la configurazione seguente per il supporto SVG: 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. Se necessario, utilizzare cartelle specifiche per la modalità di esecuzione, ad esempio /apps/<project>/config.author/ o /apps/<project>/config.publish/.

  10. Distribuisci questi file di configurazione utilizzando il processo di distribuzione standard di Managed Services.

  11. Dopo la distribuzione, verifica la funzionalità di caricamento di SVG nell’ambiente di destinazione.

Lettura correlata

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