как увидеть загруженное изображение в веб-браузере в laravel lumen?

не могли бы вы помочь мне разобраться в глупой проблеме :( Я загрузил изображение в laravel lumen под project-root/storage/products, но я не знаю, как проверить загруженное изображение в браузере, моя папка хранения находится за пределами общедоступного каталога, я пробовал

http://192.168.11.102:8000/storage/products/upc_1443002080.jpg
http://192.168.11.102:8000/index.php/storage/products/upc_1443002080.jpg

но я получил ... Извините, страница, которую вы ищете, не может быть найдена. Не могли бы вы мне помочь?

Обновление. Как вы сказали, я создал такие маршруты -

$app->get('products/{filename}', function ($filename) {
$path = storage_path().'/products/'.$filename;

if (file_exists($path)) {
    return Response::download($path);
}});

но когда я нажимаю http://192.168.11.102:8000/storage/products/upc_1443002080.jpg он загружает файл, а не отображается в браузере. Есть ли у вас какие-либо идеи? У меня есть следующие коды в Response :: функция загрузки -

public static function download($file, $name = null, array $headers = [], $disposition = 'attachment')
{
    $response = new BinaryFileResponse($file, 200, $headers, true, $disposition);
    if (! is_null($name)) {
        return $response->setContentDisposition($disposition, $name, str_replace('%', '', Str::ascii($name)));
    }
    return $response;
}

person Prashant Barve    schedule 13.10.2015    source источник


Ответы (1)


Файлы, хранящиеся в каталоге хранилища, защищены. Корень документа - / public. Чтобы просмотреть загруженные элементы в браузере, вам нужно создать маршрут, который принимает имя файла, а затем контроллер получит этот файл.

person IllegalPigeon    schedule 13.10.2015