Конкретный пример: я сохраняю свои изображения в MySQL в столбце Blob (назовем его «изображение»). Я использую CakePHP (на самом деле не имеет значения)
Это изображение аватара пользователей. Мне нужно показать им это.
Теперь, каков наилучший способ сделать это?
В настоящее время я использую отдельное действие "show_image / {user_id}", которое считывает изображение из базы данных, устанавливает заголовки и печатает содержимое. Итак, если я хочу отобразить изображение, я просто использую:
<img src="show_image/3" />
show_image это что-то вроде:
function show_image($user_id){
$user = //read user from database
$image = file_get_contents($user['image']);
header('Content-type: ' . $user['image_type']);
header('Content-Disposition: attachment; filename="'.$user['image_name'].'"');
echo $image;
}
Теперь, возможно, есть другие способы (возможно, base64) или что-то, что работает лучше, чем этот подход.
Спасибо!