MySQL支持Base64編碼格式的圖片存儲(chǔ)和讀取,這種方式可使圖片以純文本的形式存入數(shù)據(jù)庫中,便于數(shù)據(jù)的傳輸和備份。以下是MySQL存儲(chǔ)和讀取Base64編碼圖片的方法:
-- 創(chuàng)建存儲(chǔ)Base64編碼圖片的表 CREATE TABLE `images` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `image_data` LONGTEXT NOT NULL, PRIMARY KEY (`id`) ); -- 將圖片轉(zhuǎn)換為Base64編碼,然后存入數(shù)據(jù)庫中 INSERT INTO `images` (`image_data`) VALUES ('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...'); -- 從數(shù)據(jù)庫中讀取Base64編碼的圖片,然后通過PHP將其顯示 $img_data = base64_decode($row['image_data']); header('Content-Type: image/png'); echo $img_data;
值得注意的是,使用Base64編碼存儲(chǔ)圖片會(huì)使圖片的大小增加約1/3,因此應(yīng)將其用于小尺寸和低分辨率的圖片。此外,存儲(chǔ)和讀取大量的Base64編碼圖片會(huì)造成數(shù)據(jù)庫負(fù)擔(dān),所以應(yīng)當(dāng)注意管理和優(yōu)化數(shù)據(jù)庫。