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
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
Jawaban:
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
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.
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
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 allowedExtensions
di XML
file atau getAllowedExtensions
setAllowedExtensions
di PHP
file.
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>
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>
Plugin untuk Mengizinkan File SVG untuk Gambar Produk