배경:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!