Jak dozwolone typy plików svg upload obrazu magento 2
Pokaż w system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Jak dozwolone typy plików svg upload obrazu magento 2
Pokaż w system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Odpowiedzi:
Ten moduł umożliwia przesyłanie różnych typów plików do edytora WYSIWYG.
Następujące typy plików są domyślnie dostępne i możliwe jest dodanie dodatkowych rodzajów plików do dozwolonych typów plików w konfiguracji modułu (Ogólne> Zarządzanie treścią> Opcje WYSIWYG> Dodatkowe dozwolone typy plików):
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads
Możesz edytować di.xml i dodać następujący kod
<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>
a w backend ustaw to, czego potrzebujesz w ten sposób
Powodem, dla którego SVG są domyślnie wyłączone w Magento 2, są względy bezpieczeństwa, takie jak przechowywany XSS. I zaleciłbym, aby na razie pozostawić je wyłączone, dopóki nie uzyskamy dla nich lepszej higieny.
Możesz zobaczyć przykład tego, w APPSEC-1673
którym usunęli pliki SVG w ulubionych
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Przechowywane xss za pomocą obrazów svg w Favicon.
Chociaż nie możesz przesyłać plików SVG przez backend, nadal możesz przesyłać je za pomocą FTP i odwoływać się do nich tak, jakbyś je załadował. W ten sposób nadal zyskujesz korzyści z używania plików SVG, ale nie musisz zajmować się kwestiami bezpieczeństwa umożliwiającymi użytkownikom ich ładowanie.
Ale jeśli nadal chcesz włączyć przesyłanie SVG dla przesyłania ulubionych / logo. Możesz utworzyć niestandardowy moduł i przesłonić funkcje węzłów xml / php, z których został usunięty. Możesz je znaleźć w różnicy poniżej
https://github.com/magento/magento2/compare/2.1.8...2.1.9
W zależności od tego, gdzie chcesz włączyć przesyłanie SVG, wpłynie to na pliki, które musisz przesłonić. Powinieneś być w stanie znaleźć pliki, które chcesz edytować, poprzez szybkie wyszukiwanie allowedExtensions
w XML
plikach lub getAllowedExtensions
setAllowedExtensions
w PHP
plikach.
otwórz LUB zastąp nad plikiem i kodem <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>
Jeśli używasz poniżej wersji Magento 2.3, zmień kod silde. Zamień powyższy kod <item name="svg" xsi:type="string">text/html</item>
na<item name="svg" xsi:type="number">1</item>
Otwórz poniżej pliku
/vendor/magento/module-cms/etc/di.xml
Dodaj swoje rozszerzenie, na które chcesz zezwolić
<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>
Wtyczka zezwala na pliki SVG dla obrazów produktów