Zulässige Dateitypen SVG-Bild Upload Magento 2
In system.log anzeigen
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Zulässige Dateitypen SVG-Bild Upload Magento 2
In system.log anzeigen
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Antworten:
Dieses Modul ermöglicht das Hochladen verschiedener Dateitypen im WYSIWYG-Editor.
Die folgenden Dateitypen sind standardmäßig verfügbar und es ist möglich, den zulässigen Dateitypen in der Konfiguration des Moduls zusätzliche Dateitypen hinzuzufügen (Allgemein> Inhaltsverwaltung> WYSIWYG-Optionen> Zusätzliche zulässige Dateitypen):
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads
Sie können di.xml bearbeiten und folgenden Code hinzufügen
<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>
und im Backend einstellen, was Sie so brauchen
Der Grund, warum SVGs in Magento 2 standardmäßig deaktiviert sind, liegt in Sicherheitsgründen wie gespeichertem XSS. Und ich würde empfehlen, dass Sie sie zumindest vorerst deaktiviert lassen, bis wir eine bessere Desinfektion für sie erhalten.
Sie können ein Beispiel dafür in sehen APPSEC-1673
, wo sie SVGs im Favicon entfernt haben
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Gespeichertes xss mit svg-Bildern in Favicon.
Sie können SVGs zwar nicht über das Backend hochladen, aber Sie können sie dennoch mit FTP hochladen und auf sie verweisen, als hätten Sie sie hochgeladen. Auf diese Weise erhalten Sie immer noch die Vorteile der Verwendung von SVGs, müssen sich jedoch nicht mit den Sicherheitsproblemen befassen, die entstehen, wenn Benutzer diese laden können.
Wenn Sie den SVG-Upload dennoch für den Favicon / Logo-Upload aktivieren möchten. Sie können ein benutzerdefiniertes Modul erstellen und XML-Knoten / PHP-Funktionen überschreiben, aus denen es entfernt wurde. Sie finden diese im Diff unten
https://github.com/magento/magento2/compare/2.1.8...2.1.9
Abhängig davon, wo Sie SVG-Uploads aktivieren möchten, wirkt sich dies darauf aus, welche Dateien Sie überschreiben müssen. Sie sollten in der Lage sein, die Dateien, die Sie bearbeiten müssen, durch eine schnelle Suche allowedExtensions
in XML
Dateien oder entweder getAllowedExtensions
setAllowedExtensions
in PHP
Dateien zu finden.
Öffnen oder überschreiben Sie die Datei und den Code <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>
Wenn Sie die unten stehende Version Magento 2.3 verwenden, ändern Sie den Code silde. Ersetzen Sie den obigen Code <item name="svg" xsi:type="string">text/html</item>
To<item name="svg" xsi:type="number">1</item>
Öffnen Sie die folgende Datei
/vendor/magento/module-cms/etc/di.xml
Fügen Sie Ihre Erweiterung hinzu, die Sie zulassen möchten
<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>
Plugin zum Zulassen von SVG-Dateien für Produktbilder