Я работаю над конечной точкой, которая возвращает одно изображение из файловой системы (например, портрет пользователя). Я использую ajax-скрипт для тестирования, который обрабатывает результат конечной точки и вставляет его в div. Это подняло вопрос о создании изображения из BLOB-объекта ответа ajax. Все решения, которые я нашел на SO, предполагают, что изображение возвращается в кодировке base64. Я заработал, изменив конечную точку для вывода изображения с кодировкой base64, но это кажется дополнительным шагом, особенно для клиентов iOS, которые могут понимать выводимое изображение по readfile
.
Это то, что люди делают в производственных условиях? Разве преобразование в base64 не увеличивает размер и не увеличивает нагрузку на сервер? Какие преимущества / недостатки есть у каждого метода? Есть ли другой способ, который даже лучше?
header("Content-type: {$imginfo['mime']}");
// Output the file stream
readfile($filename);
// Output as base64
$type = pathinfo($filename, PATHINFO_EXTENSION);
$data = file_get_contents($filename);
base64_encode($data);
echo base64_encode($data);