Rumah >pangkalan data >tutorial mysql >Mengapa Imej Saya Tidak Dipaparkan Dengan Betul Apabila Diambil daripada BLOB MySQL Bersama Teks?
Memahami Isu Paparan Imej Apabila Mendapatkan Daripada MySQL BLOB
Apabila mendapatkan semula imej yang disimpan sebagai BLOB dalam pangkalan data MySQL, memaparkannya bersama kandungan tambahan boleh menghadapi cabaran. Satu isu biasa berlaku apabila cuba mengeluarkan sebarang teks sebelum memaparkan imej. Isu ini boleh menyebabkan imej disembunyikan atau dipaparkan secara tidak betul.
Masalahnya berpunca daripada sifat BLOB. Apabila data disimpan dalam BLOB, ia dianggap sebagai objek besar binari. Apabila pengepala dihantar untuk mengeluarkan imej, output teks seterusnya dianggap sebagai sebahagian daripada data binari. Ini boleh membawa kepada tingkah laku yang tidak dijangka dalam penyemak imbas.
Penyelesaian
Untuk menyelesaikan isu ini dan memaparkan kedua-dua imej dan teks lain, satu penyelesaian ialah menukar kandungan imej BLOB ke dalam format base64. Pengekodan Base64 membolehkan imej diwakili sebagai rentetan teks.
echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />'; echo 'Hello world.';
Dengan mengekod data imej dalam base64, penyemak imbas kini boleh mengecamnya sebagai imej, walaupun terdapat output teks yang disertakan. Kaedah ini membenarkan paparan kedua-dua imej dan kandungan tambahan.
Perhatikan bahawa menggunakan pendekatan ini boleh memberi kesan kepada prestasi dan tidak sesuai untuk imej yang besar atau kerap dipaparkan. Untuk prestasi optimum, pertimbangkan untuk menyimpan imej sebagai fail berasingan di luar pangkalan data.
Atas ialah kandungan terperinci Mengapa Imej Saya Tidak Dipaparkan Dengan Betul Apabila Diambil daripada BLOB MySQL Bersama Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!