Come consentire Tipi di file svg image upload magento 2
Mostra in system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Come consentire Tipi di file svg image upload magento 2
Mostra in system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Risposte:
Questo modulo consente di caricare diversi tipi di file all'interno dell'editor WYSIWYG.
I seguenti tipi di file sono disponibili per impostazione predefinita ed è possibile aggiungere altri tipi di file ai tipi di file consentiti nella configurazione del modulo (Generale> Gestione dei contenuti> Opzioni WYSIWYG> Tipi di file extra consentiti):
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads
È possibile modificare di.xml e aggiungere il codice seguente
<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>
e nel backend imposta ciò di cui hai bisogno in questo modo
Il motivo per cui gli SVG sono disabilitati in Magento 2 per impostazione predefinita, è per motivi di sicurezza come l'XSS memorizzato. E consiglierei di lasciarli disabilitati almeno per ora fino a quando non avremo una migliore sanificazione per loro.
Puoi vedere un esempio di questo in APPSEC-1673
, dove hanno rimosso gli SVG nella favicon
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Memorizzato xss usando immagini svg in Favicon.
Sebbene non sia possibile caricare SVG tramite il back-end, è comunque possibile caricarli con FTP e consultarli come se fossero stati caricati. In questo modo si ottengono comunque i vantaggi dell'utilizzo di SVG ma non è necessario affrontare i problemi di sicurezza di consentire agli utenti di caricarli.
Ma se vuoi ancora abilitare il caricamento SVG per il caricamento favicon / logo. È possibile creare un modulo personalizzato e sovrascrivere i nodi xml / funzioni php da cui è stato rimosso. Puoi trovarli nel diff seguente
https://github.com/magento/magento2/compare/2.1.8...2.1.9
A seconda di dove si desidera abilitare i caricamenti in formato SVG influirà su quali file è necessario sovrascrivere. Dovresti essere in grado di trovare i file che devi modificare con una rapida ricerca allowedExtensions
nei XML
file o getAllowedExtensions
setAllowedExtensions
nei PHP
file.
apri O sovrascrivi sotto il file e il codice <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>
Se usi la versione 2.3 di magento sotto, cambia la silde di codice. Sostituisci sopra il codice <item name="svg" xsi:type="string">text/html</item>
A<item name="svg" xsi:type="number">1</item>
Apri sotto il file
/vendor/magento/module-cms/etc/di.xml
Aggiungi la tua estensione che desideri consentire
<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>
Plug-in per consentire i file SVG per le immagini dei prodotti