Загруженные общедоступные файлы не отображаются - PullRequest
0 голосов
/ 18 декабря 2018

У меня проблемы с перемещением загруженных файлов в общую папку.Я всегда получаю сообщение об ошибке 404. Каждый раз, когда я пытаюсь загрузить файлы из общей папки.

Все тесты по загрузке файла проходят успешно, файл может быть загружен, файл присутствует в базе данных и в общей папке, символическая ссылка создается, ноЯ не могу отобразить содержимое из общей папки.

основные части кода:

uploaderController.php

$path = $request->file( 'userfile' )->store( 'logos', 'public' );

после этого папка в:

/storage/app/public/logos/file.ext

с использованием файла в шаблоне blade-сервера:

<img src="{{ asset( $model->image_path ) }}" />

ответ из браузера 404 - Страница не найдена

дополнительная информация о папках сервера:

/public/storage  - this is the symlink to the public folder 777 permission
/storage/app/public  - the storage public folder 775 permission
/storage/app/public/logos  - the logo folder 755 permission
/storage/app/public/logos/file.ext  - the file 644 permission

Я пытаюсь изменить разрешение на 775 для файла, но всегда 404

Как я могу решить эту проблему?Спасибо

[править] Я обнаружил отличие от другого сервера, где я могу видеть публичные файлы.Символическая ссылка на этом сервере имеет зеленый фон, когда ls -l

1 Ответ

0 голосов
/ 18 декабря 2018

Решение этого вопроса заключается в том, что внутри файла uploaderController.php при сохранении пути к загруженному файлу вы ДОЛЖНЫ добавить к папке «storage».

uploaderController.php

$path = $request->file( 'userfile' )->store( 'logos', 'public' );

$data = [ 'image_path'=>"storage/{$path}" ];
$model->update( $data );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...