> 백엔드 개발 > PHP 튜토리얼 > Laravel Storage의 사용자 아바타를 뷰에 표시하는 방법은 무엇입니까?

Laravel Storage의 사용자 아바타를 뷰에 표시하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-25 07:26:36
원래의
394명이 탐색했습니다.

How to Display User Avatars from Laravel Storage in Views?

Laravel 뷰의 저장소에서 사용자 아바타 액세스

배경:

Laravel의 저장 메커니즘을 사용하면 사용자 아바타와 다른 파일이지만 이러한 파일은 일반적으로 일반 HTTP 요청을 통해 액세스할 수 없는 /storage 폴더에 있습니다. /public 폴더를 가리킵니다.

해결책:

뷰 내 스토리지에 있는 사용자 아바타를 표시하려면 두 가지 기본 접근 방식이 있습니다.

1. 심볼릭 링크 생성

다음 명령을 사용하여 /public/storage 폴더와 /storage/app/public 폴더 사이에 심볼릭 링크를 생성하는 것이 좋습니다.

php artisan storage:link
로그인 후 복사

이렇게 하면 저장 파일이 /public 폴더에 있는 것처럼 접근할 수 있는 바로가기가 생성됩니다. 그런 다음 다음과 같이 보기에서 아바타에 액세스할 수 있습니다.

<img src="{{ asset('storage/avatars/' . $user->avatar) }}">
로그인 후 복사

2. 사용자 정의 경로 사용

어떤 이유로든 심볼릭 링크를 생성할 수 없는 경우 이미지 파일을 읽고 제공하는 사용자 정의 경로를 정의할 수 있습니다. 다음은 폐쇄 경로를 사용하는 예입니다.

Route::get('storage/{filename}', function ($filename) {
    $path = storage_path('public/' . $filename);

    if (!File::exists($path)) {
        abort(404);
    }

    $file = File::get($path);
    $type = File::mimeType($path);

    $response = Response::make($file, 200);
    $response->header("Content-Type", $type);

    return $response;
});
로그인 후 복사

그런 다음 /storage 경로를 사용하여 보기에서 아바타에 액세스할 수 있습니다.

<img src="{{ route('storage.show', ['filename' => $user->avatar]) }}">
로그인 후 복사

고려 사항:

  • 경로를 통해 수동으로 파일을 제공하면 경로를 사용할 때보다 성능이 저하될 수 있습니다. 심볼릭 링크.
  • 스토리지 파일에 대한 무단 액세스를 방지하려면 사용자 정의 경로를 보호하세요.

위 내용은 Laravel Storage의 사용자 아바타를 뷰에 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿