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.
-
Accedi alla console Web OSGi all’indirizzo
/system/console/configMgrin un’istanza di sviluppo o di gestione temporanea. -
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). -
In Apache Sling Commons MIME Type Service, aggiungi
image/svg+xml svgalla proprietàmime.types. -
Se le restrizioni di caricamento sono abilitate, aggiungi
image/svg\+xmlalla proprietàallowedAssetMimesin Limitazione caricamento risorse Day CQ DAM. -
Salva le modifiche e verifica che i file SVG possano essere caricati.
-
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.
-
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
-
Utilizza la configurazione seguente per il supporto SVG:
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" ] } -
Se necessario, utilizzare cartelle specifiche per la modalità di esecuzione, ad esempio
/apps/<project>/config.author/o/apps/<project>/config.publish/. -
Distribuisci questi file di configurazione utilizzando il processo di distribuzione standard di Managed Services.
-
Dopo la distribuzione, verifica la funzionalità di caricamento di SVG nell’ambiente di destinazione.