Этот код fc работал как шарм:
public static function File($relativeFilePath) {
if (Storage::exists($relativeFilePath) == false) {
$relativeFilePath = "/not_found.png";
}
$absoluteDiskPath = Storage::disk('local')->getDriver()->getAdapter()->getPathPrefix();
$fullPath = $absoluteDiskPath.$relativeFilePath;
$file = File::get($fullPath);
$contentType = File::mimeType($fullPath);
$response = response()->make($file, 200);
$response->header("Content-Type", $contentType);
return $response;
}
Прямо сейчас вместо отправки изображения отправляется неправильный файл. PHP находит изображение, где оно хранится, и отправляет его содержимое (выполнение var_dump приведет к извлечению содержимого файла в почтальоне).
Но остро показывает маленький белый квадрат.
Я застрял. Обновлен люмен, восстановите код из предыдущего коммита (который работал) и все тот же). На снимке экрана вы можете увидеть результат.
Разрешения для папки хранения - 777, чтобы избежать проблем с разрешениями.
Если я добавляю изображение в общую корневую папку и получаю к нему доступ напрямую (HTTP-сервер, а не вся структура Lumen), оно отображается.
Мой HTTP-сервер - nginx vagrant
UPDATE
Я удалил заголовок из ответа, и содержимое показано в почтальоне. Тем не менее я открыл его в шестнадцатеричном формате, чтобы сравнить два исходных файла:
В ответ добавляется странное значение 0x0A в начале.
Как так?