Jenis file .svg Kesalahan dalam mengunggah gambar Magento 2.3.1

8

Cara Diizinkan Jenis file svg image upload magento 2

Tampilkan di system.log

main.ERROR: Unsupported image format. File:

/var/www/html/pub/media//logos_1.svg
Savan Patel
sumber
Apakah ada yang salah?
Savan Patel
@mighty_hk ya saya tahu tetapi tidak bekerja untuk saya
Savan Patel
gambar produk ???
Rk Rathod
Apakah Anda berhasil mengunggah svg? Jika ya tolong beri tahu saya solusinya
Zoya

Jawaban:

1

Modul ini memungkinkan untuk mengunggah tipe file yang berbeda di dalam WYSIWYG-editor.

Tipe file berikut tersedia secara default dan dimungkinkan untuk menambahkan tipe file tambahan ke tipe file yang diizinkan dalam konfigurasi modul (Umum> Manajemen Konten> Opsi WYSIWYG> Opsi Tipe File Tambahan yang Diizinkan):

Word (doc, docm, docx)

Excel (csv, xml, xls, xlsx)

PDF (pdf)

Compressed Folder (zip, tar)

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

Anda dapat mengedit di.xml dan menambahkan kode berikut

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

dan di backend atur apa yang Anda butuhkan seperti ini

masukkan deskripsi gambar di sini


sumber
Menambahkan kode saja sudah cukup untuk di.xml atau perlukah menginstal plugin juga?
Zoya
8

Alasan SVG dinonaktifkan di Magento 2 secara default, adalah untuk alasan keamanan seperti XSS yang disimpan. Dan saya akan menyarankan Anda membiarkan mereka dinonaktifkan setidaknya untuk saat ini sampai kami mendapatkan sanitasi yang lebih baik untuk mereka.

Anda dapat melihat contohnya di sini APPSEC-1673, di mana mereka menghapus SVG di favicon

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

APPSEC-1673 Menyimpan xss menggunakan gambar svg di Favicon.

Meskipun Anda tidak dapat mengunggah SVG melalui backend, Anda masih dapat mengunggahnya dengan FTP dan merujuknya seolah-olah Anda memang mengunggahnya. Dengan cara ini Anda masih mendapatkan manfaat menggunakan SVG tetapi Anda tidak harus berurusan dengan masalah keamanan yang memungkinkan pengguna memuatnya.

Aktifkan unggahan SVG untuk unggahan Favicon / Logo

Tetapi jika Anda masih ingin mengaktifkan unggahan SVG untuk unggahan favicon / logo. Anda dapat membuat modul khusus dan mengganti fungsi xml nodes / php tempat ia dihapus. Anda dapat menemukannya di dalam diff di bawah ini

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

Aktifkan SVG di tempat lain

Bergantung pada tempat Anda ingin mengaktifkan unggahan SVG akan memengaruhi file apa yang perlu Anda timpa. Anda harus dapat menemukan file yang perlu diedit dengan pencarian cepat allowedExtensionsdi XMLfile atau getAllowedExtensions setAllowedExtensionsdi PHPfile.

Sam
sumber
6

buka ATAU timpa file dan kode di bawah ini <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>

Jika Anda menggunakan versi magento 2.3 di bawah ini, kode silde berubah. Ganti kode di atas <item name="svg" xsi:type="string">text/html</item>ke<item name="svg" xsi:type="number">1</item>

Shorabh
sumber
masih tidak berfungsi. Validasi file gagal. dan saya menyebutkan saya menggunakan versi Magento 2.3.1
Savan Patel
5

Buka File Di Bawah Ini

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

Tambahkan ekstensi yang ingin Anda izinkan

<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>
Rakesh Donga
sumber
Terima kasih Rakesh Tapi masih tidak berfungsi
Savan Patel
@SavanPatel Anda telah memeriksa jalur tema Anda yang ditimpa file ini? jika diganti maka pembaruan kode ini dalam file
Rakesh Donga