Dosya türü .svg Resim yükleme hatası Magento 2.3.1


8

Nasıl izin verilir dosya türleri svg resim yükleme magento 2

System.log dosyasında göster

main.ERROR: Unsupported image format. File:

/var/www/html/pub/media//logos_1.svg

yanlış bir şey mi var
Savan Patel


@mighty_hk evet biliyorum ama benim için çalışmıyor
Savan Patel

ürün resimleri ???
Rk Rathod

SVG yüklemeyi başardınız mı? Evet ise lütfen bana çözümü bildirin
Zoya

Yanıtlar:


1

Bu modül, WYSIWYG editörünün içine farklı dosya türlerinin yüklenmesini mümkün kılar.

Aşağıdaki dosya türleri varsayılan olarak mevcuttur ve modülün yapılandırmasında izin verilen dosya türlerine fazladan dosya türleri eklemek mümkündür (Genel> İçerik Yönetimi> WYSIWYG Seçenekleri> İzin Verilen Dosya Türleri):

Word (doc, docm, docx)

Excel (csv, xml, xls, xlsx)

PDF (pdf)

Compressed Folder (zip, tar)

https://github.com/experius/Magento-2-Module-Experius-WysiwygDownloads

Di.xml dosyasını düzenleyebilir ve aşağıdaki kodu ekleyebilirsiniz

<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>

ve arka uçta neye ihtiyacınız olduğunu ayarlayın

resim açıklamasını buraya girin


Sadece kod eklemek di.xml için yeterlidir ya da eklentiyi kurmak da gerekir mi?
Zoya

8

SVG'lerin Magento 2'de varsayılan olarak devre dışı bırakılmasının nedeni, depolanan XSS gibi güvenlik nedenlerinden kaynaklanmaktadır. Ve biz onlar için daha iyi dezenfektasyon elde edene kadar şimdilik en azından onları devre dışı bırakmanızı tavsiye ederim.

APPSEC-1673Favicon'daki SVG'leri kaldırdıklarında bunun bir örneğini görebilirsiniz.

https://magento.com/security/patches/magento-2016-and-219-security-update

APPSEC-1673 Favicon'da svg görüntülerini kullanarak xss saklandı.

SVG'leri arka uç üzerinden yükleyemeseniz de, bunları FTP ile yükleyebilir ve yüklüyormuş gibi başvuruda bulunabilirsiniz. Bu şekilde, SVG'leri kullanmanın avantajlarından yararlanmaya devam edersiniz, ancak kullanıcıların bunları yüklemesine izin vermenin güvenlik sorunlarıyla uğraşmanız gerekmez.

Favicon / Logo yüklemesi için SVG yüklemeyi etkinleştir

Ancak, favicon / logo yüklemesi için SVG yüklemesini hala etkinleştirmek istiyorsanız. Özel bir modül oluşturabilir ve kaldırıldığı yerden xml düğümleri / php işlevlerini geçersiz kılabilirsiniz. Bunları aşağıdaki farkta bulabilirsiniz

https://github.com/magento/magento2/compare/2.1.8...2.1.9

Başka bir yerde SVG'yi etkinleştir

SVG yüklemelerini nerede etkinleştirmek istediğinize bağlı olarak, geçersiz kılmanız gereken dosyaları etkiler. Sen için hızlı arama ile düzenlemek için gereken dosyaları bulmak mümkün olmalıdır allowedExtensionsiçinde XMLdosya veya ikisinden biri getAllowedExtensions setAllowedExtensionsiçinde PHPdosyaların.


6

Dosya veya kodun altında YA DA üzerine yaz <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>

Magento 2.3 sürümü altında kullanıyorsanız, kod değiştirme kodunu değiştirin. Kodunun üzerinde değiştirin <item name="svg" xsi:type="string">text/html</item>için<item name="svg" xsi:type="number">1</item>


hala çalışmıyor Dosya doğrulaması başarısız oldu. ve ben magento 2.3.1 sürümünü kullandığım bahsettiğim
Savan Patel

5

Aşağıdaki Dosyayı Aç

/vendor/magento/module-cms/etc/di.xml

İzin vermek istediğiniz uzantınızı ekleyin

<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>

Teşekkürler Rakesh Ama hala çalışmıyor
Savan Patel

@SavanPatel bu dosyayı geçersiz kılmak için tema yolunuzu kontrol ettiniz mi? geçersiz kılma durumunda, dosyadaki bu kod güncellemesi
Rakesh Donga

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.