AEM Managed Services:OSGi設定を使用したDAMでのSVG取り込みの有効化
AEM Managed ServicesでSVG ファイルをDAMにアップロードする際にアセットファイルが拒否される場合は、MIME タイプとアセットアップロード制限のOSGi設定を更新して、image/svg+xml MIME タイプを許可します。 プロジェクトコードの変更を保持して、今後のデプロイメントに対応できるようにします。
説明 description
環境
Adobe Experience Manager(AEM)(すべてのバージョン、Managed Services)
問題/症状
SVG ファイルをDAMにアップロードできません。 SVG アセットをアップロードしようとすると、現在のMIME タイプとアップロード制限の設定に応じて、エラーが発生したり、アセットが拒否されたりする可能性があります。 特定のエラーメッセージは表示されませんが、SVG ファイルの取り込みは許可されていません。
- SVG ファイルは、許可されたアセットタイプとしてリストに表示されません。
- アップロードインターフェイスが、SVG ファイルをサイレントに拒否したり、サポートされていない汎用ファイルタイプメッセージを表示したりする場合があります。
参照ドキュメント:AEMでのSVG サポートの設定
解決策 resolution
問題を解決するには、次の手順に従います。
-
開発またはステージングインスタンスの
/system/console/configMgrにあるOSGi Web コンソールにアクセスします。 -
Apache Sling Commons MIME Type Service (
org.apache.sling.commons.mime.internal.MimeTypeServiceImpl)と日間CQ DAM アセットのアップロード制限 (com.day.cq.dam.core.impl.assetupload.DamUploadAssetFilter)設定を探します。 -
Apache Sling Commons MIME Type Serviceで、
image/svg+xml svgをmime.typesプロパティに追加します。 -
アップロード制限が有効になっている場合は、Day CQ DAM Asset アップロード制限の
allowedAssetMimesプロパティにimage/svg\+xmlを追加します。 -
変更内容を保存し、SVG ファイルをアップロードできることを確認します。
-
実稼動用の信頼できる長期的な情報源として、手動のWeb コンソールの変更に依存しないでください。 コードベース内に設定を保持して、デプロイメントと環境をまたいで再現可能な状態を維持します。
-
次のようなプロジェクト管理パスでOSGi設定を管理します。
/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
-
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" ] } -
必要に応じて、
/apps/<project>/config.author/や/apps/<project>/config.publish/などの実行モード固有のフォルダーを使用します。 -
標準のManaged Services デプロイメントプロセスを使用して、これらの設定ファイルをデプロイします。
-
デプロイメント後、ターゲット環境でSVGのアップロード機能を確認します。