Як дозволити типи файлів 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-WysiwygЗавантаження
Ви можете відредагувати 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>
а в бекенді встановіть те, що вам потрібно
Причина SVG відключена в Magento 2 за замовчуванням, це з міркувань безпеки, таких як збережений XSS. І я рекомендую поки що покинути їх непрацездатними, поки ми не покращимо їх санітарію.
Ви можете побачити приклад цього в APPSEC-1673
, де вони видалили SVG-файли у фавіконі
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Зберігається xss, використовуючи SVG-зображення у Favicon.
Хоча ви не можете завантажити SVG-файли через бекенд, ви все одно можете завантажувати їх за допомогою FTP і посилатись на них, як якщо б ви їх завантажували. Таким чином, ви все ще отримуєте переваги використання SVG, але вам не доведеться боротися з проблемами безпеки, що дозволяють користувачам завантажувати їх.
Але якщо ви все ще хочете включити завантаження SVG для завантаження файлів favicon / logo. Ви можете створити спеціальний модуль і змінити 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 нижче, зміни коду silde. Замініть вище код <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 для зображень продукту