Cómo Permitir tipos de archivos svg image upload magento 2
Mostrar en system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Cómo Permitir tipos de archivos svg image upload magento 2
Mostrar en system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Respuestas:
Este módulo permite cargar diferentes tipos de archivos dentro del editor WYSIWYG.
Los siguientes tipos de archivo están disponibles de forma predeterminada y es posible agregar tipos de archivo adicionales a los tipos de archivo permitidos en la configuración del módulo (General> Administración de contenido> Opciones WYSIWYG> Tipos de archivo permitidos adicionales):
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads
Puede editar di.xml y agregar el siguiente código
<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>
y en el backend establece lo que necesitas así
La razón por la cual los SVG están deshabilitados en Magento 2 de manera predeterminada es por razones de seguridad, como XSS almacenado. Y recomendaría que los deje deshabilitados al menos por ahora hasta que obtengamos una mejor desinfección para ellos.
Puede ver un ejemplo de esto en APPSEC-1673
, donde eliminaron SVG en el favicon
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Xss almacenado usando imágenes svg en Favicon.
Si bien no puede cargar SVG a través del back-end, aún puede cargarlos con FTP y hacer referencia a ellos como si los hubiera cargado. De esta manera, aún obtiene los beneficios de usar SVG, pero no tiene que lidiar con los problemas de seguridad de permitir que los usuarios los carguen.
Pero si aún desea habilitar la carga SVG para la carga de favicon / logo. Puede crear un módulo personalizado y anular funciones de nodos xml / php de donde se eliminó. Puede encontrarlos en la diferencia a continuación.
https://github.com/magento/magento2/compare/2.1.8...2.1.9
Dependiendo de dónde desee habilitar las cargas SVG afectará los archivos que deberá anular. Debería poder encontrar los archivos que necesita editar mediante una búsqueda rápida allowedExtensions
en XML
archivos o getAllowedExtensions
setAllowedExtensions
en PHP
archivos.
abrir O sobrescribir debajo del archivo y código <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>
Si usa la versión 2.3 de magento a continuación, cambie el código silde. Reemplace el código anterior <item name="svg" xsi:type="string">text/html</item>
a<item name="svg" xsi:type="number">1</item>
Abrir debajo del archivo
/vendor/magento/module-cms/etc/di.xml
Agregue la extensión que desea permitir
<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>
Complemento para permitir archivos SVG para imágenes de productos