許可するファイルの種類svg画像アップロードmagento 2
system.logに表示
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
許可するファイルの種類svg画像アップロードmagento 2
system.logに表示
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
回答:
このモジュールにより、WYSIWYGエディター内でさまざまなファイルタイプをアップロードできます。
次のファイルタイプはデフォルトで使用可能であり、モジュールの構成(一般>コンテンツ管理> WYSIWYGオプション>追加の許可されたファイルタイプ)で許可されたファイルタイプに追加のファイルタイプを追加することが可能です。
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads
あなたはdi.xmlを編集して次のコードを追加することができます
<item name="allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
バックエンドでは、このように必要なものを設定します
Magento 2でデフォルトでSVGが無効になっている理由は、保存されているXSSなどのセキュリティ上の理由によるものです。そして、私たちがより良いサニタイズを得るまで、少なくとも今は無効にしておくことをお勧めします。
この例はで確認できます。APPSEC-1673
ファビコンでSVGが削除されています。
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
ファビコンのsvg画像を使用して保存されたxss。
バックエンド経由でSVGをアップロードすることはできませんが、FTPでアップロードして、アップロードしたかのように参照することができます。この方法でも、SVGを使用する利点を得ることができますが、ユーザーがSVGをロードできるようにするというセキュリティの問題に対処する必要はありません。
ただし、favicon / logoアップロードでSVGアップロードを有効にする場合は、カスタムモジュールを作成し、それが削除されたxmlノード/ php関数をオーバーライドできます。以下の差分でこれらを見つけることができます
https://github.com/magento/magento2/compare/2.1.8...2.1.9
SVGアップロードを有効にする場所によっては、オーバーライドする必要があるファイルに影響します。あなたは、あなたがクイック検索で編集する必要があるファイルを見つけることができるはずallowedExtensions
でXML
ファイルまたはいずれかgetAllowedExtensions
setAllowedExtensions
でPHP
ファイルを。
開くか、ファイルとコードの下を上書き <item name="svg" xsi:type="string">text/html</item>
/vendor/magento/module-cms/etc/di.xml
<type name="Magento\Cms\Model\Wysiwyg\Images\Storage">
<arguments>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
<item name="image_allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
<item name="media_allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
</argument>
</arguments>
</type>
以下のmagento 2.3バージョンを使用する場合は、コード変更を変更してください。上記のコード<item name="svg" xsi:type="string">text/html</item>
を<item name="svg" xsi:type="number">1</item>
ファイルの下を開く
/vendor/magento/module-cms/etc/di.xml
許可する拡張機能を追加します
<item name="svg" xsi:type="number">1</item>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
<item name="jpg" xsi:type="number">1</item>
<item name="jpeg" xsi:type="number">1</item>
<item name="png" xsi:type="number">1</item>
<item name="gif" xsi:type="number">1</item>
<item name="svg" xsi:type="number">1</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="jpg" xsi:type="number">1</item>
<item name="jpeg" xsi:type="number">1</item>
<item name="png" xsi:type="number">1</item>
<item name="gif" xsi:type="number">1</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="flv" xsi:type="number">1</item>
<item name="swf" xsi:type="number">1</item>
<item name="avi" xsi:type="number">1</item>
<item name="mov" xsi:type="number">1</item>
<item name="rm" xsi:type="number">1</item>
<item name="wmv" xsi:type="number">1</item>
</item>
</argument>
製品画像のSVGファイルを許可するプラグイン