Comment autoriser les types de fichiers svg image upload magento 2
Afficher dans system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Comment autoriser les types de fichiers svg image upload magento 2
Afficher dans system.log
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
Réponses:
Ce module permet de télécharger différents types de fichiers à l'intérieur de l'éditeur WYSIWYG.
Les types de fichiers suivants sont disponibles par défaut et il est possible d'ajouter des types de fichiers supplémentaires aux types de fichiers autorisés dans la configuration du module (Général> Gestion de contenu> Options WYSIWYG> Types de fichiers supplémentaires autorisés):
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads
Vous pouvez modifier di.xml et ajouter le code suivant
<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>
et en backend, définissez ce dont vous avez besoin comme ceci
La raison pour laquelle les SVG sont désactivés dans Magento 2 par défaut, est pour des raisons de sécurité telles que XSS stockées. Et je recommanderais que vous les laissiez handicapés au moins pour l'instant jusqu'à ce que nous obtenions une meilleure désinfection pour eux.
Vous pouvez voir un exemple de cela dans APPSEC-1673
, où ils ont supprimé les SVG dans le favicon
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Xss stocké à l'aide d'images svg dans Favicon.
Bien que vous ne puissiez pas télécharger de SVG via le backend, vous pouvez toujours les télécharger avec FTP et les référencer comme si vous les aviez téléchargés. De cette façon, vous bénéficiez toujours des avantages de l'utilisation des SVG, mais vous n'avez pas à gérer les problèmes de sécurité liés à l'autorisation des utilisateurs de les charger.
Mais si vous souhaitez toujours activer le téléchargement SVG pour le téléchargement de favicon / logo. Vous pouvez créer un module personnalisé et remplacer les nœuds xml / fonctions php d'où il a été supprimé. Vous pouvez les trouver dans le diff ci-dessous
https://github.com/magento/magento2/compare/2.1.8...2.1.9
Dépendre de l'endroit où vous souhaitez activer les téléchargements SVG affectera les fichiers que vous devrez remplacer. Vous devriez être en mesure de trouver les fichiers que vous devez modifier par une recherche rapide allowedExtensions
dans les XML
fichiers ou getAllowedExtensions
setAllowedExtensions
dans les PHP
fichiers.
OU OU écraser le fichier et le code ci-dessous <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 vous utilisez la version ci-dessous de magento 2.3, changez le code silde. Remplacer le code ci - dessus <item name="svg" xsi:type="string">text/html</item>
Pour<item name="svg" xsi:type="number">1</item>
Ouvrir sous le fichier
/vendor/magento/module-cms/etc/di.xml
Ajoutez votre extension que vous souhaitez autoriser
<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 pour autoriser les fichiers SVG pour les images de produits