Лучшая практика для загрузки изображения из хранилища в поле зрения - PullRequest
0 голосов
/ 17 апреля 2020

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

У меня есть два варианта, первый использует asset() для загрузите образ пользователя:

<img class="avatar" src="{{ asset('/storage/avatars/' . Auth::user()->avatar) }}" alt="">

Или я могу использовать фасад Storage:: с пользовательским диском (который называется user_data), который я создал:

<img class="avatar" src="{{ Storage::disk('user_data')->url(Auth::user()->avatar) }}" alt="">

Какой способ лучше ? Каждый ответ, который я видел в Интернете, использует asset(), но я считаю, что Storage:: намного лучше с точки зрения удобства обслуживания, так как мы не сильно кодируем путь /storage/avatars/.

Хорошо ли использовать Storage:: фасад внутри шаблона лезвия?

1 Ответ

1 голос
/ 18 апреля 2020

Ваш второй подход с использованием фасада Storage:: полностью подходит для вашего взгляда. Как вы сказали, это замечательно с точки зрения удобства обслуживания и позволит вам легко изменить путь вашего user_data, если вам понадобится сделать это в будущем. Использование встроенных функций хранения, предоставляемых Laravel, также избавляет вас от головной боли в более масштабных приложениях с несколькими серверами или при хранении ваших пользовательских данных в корзине S3. Это будет очень быстро менять и управлять через диски в вашем filesystem.php.

Причина, по которой вы, вероятно, часто видите, что asset() используется в Интернете, заключается в том, что диски не входят в сферу применения и не нужны для многих небольших проектов и учебных пособий. Так как он также используется для загрузки изображений, CSS, JS и других файлов publi c.

...