Як дозволити типи файлів 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 для зображень продукту