ファイルの種類.svg画像アップロードのエラーMagento 2.3.1


8

許可するファイルの種類svg画像アップロードmagento 2

system.logに表示

main.ERROR: Unsupported image format. File:

/var/www/html/pub/media//logos_1.svg

何か間違っていますか?
Savan Patel


@mighty_hkはい、わかっていますが、私のために働いていません
Savan Patel

商品画像???
Rk Rathod

svgをアップロードできましたか?はいの場合は、解決策を教えてください
Zoya '15

回答:


1

このモジュールにより、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>

バックエンドでは、このように必要なものを設定します

ここに画像の説明を入力してください


コードを追加するだけでdi.xmlは十分ですか、それともプラグインをインストールする必要がありますか?
Zoya

8

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をロードできるようにするというセキュリティの問題に対処する必要はありません。

ファビコン/ロゴのアップロードでSVGアップロードを有効にする

ただし、favicon / logoアップロードでSVGアップロードを有効にする場合は、カスタムモジュールを作成し、それが削除されたxmlノード/ php関数をオーバーライドできます。以下の差分でこれらを見つけることができます

https://github.com/magento/magento2/compare/2.1.8...2.1.9

他の場所でSVGを有効にする

SVGアップロードを有効にする場所によっては、オーバーライドする必要があるファイルに影響します。あなたは、あなたがクイック検索で編集する必要があるファイルを見つけることができるはずallowedExtensionsXMLファイルまたはいずれかgetAllowedExtensions setAllowedExtensionsPHPファイルを。


6

開くか、ファイルとコードの下を上書き <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>


それでも機能しないファイルの検証に失敗しました。そして、私はmagento 2.3.1バージョンを使用しています
Savan Patel

5

ファイルの下を開く

/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>

ありがとうRakeshしかし、それでも動作しません
Savan Patel

@SavanPatelあなたはあなたのテーマパスをチェックしましたこのファイルは上書きしますか?オーバーライドした場合、このコードはファイルに更新されます
Rakesh Donga

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.