뷰 렌더링을 위해 Laravel 저장소에 업로드된 이미지 액세스
Laravel 애플리케이션에서 사용자 아바타 또는 기타 미디어 자산은 저장소 디렉터리에 저장될 수 있습니다. . 이러한 이미지에 액세스하고 보기에 표시하려면 다음과 같은 여러 옵션이 있습니다.
1. 심볼릭 링크 생성
Laravel 5.3부터 artisan Storage:link 명령은 public/storage에서 Storage/app/public으로 심볼릭 링크를 생성합니다. 이를 통해 이전 경로(
http://somedomain.com/storage/image.jpg
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; });
이 경로를 사용하면 다음 경로를 사용하여 파일에 액세스할 수 있습니다:
http://somedomain.com/storage/image.jpg
3. 중재 이미지 라이브러리 사용(선택 사항)
중재 이미지 라이브러리를 사용하는 경우 해당 response() 메서드를 활용할 수 있습니다:
Route::get('storage/{filename}', function ($filename) { return Image::make(storage_path('public/' . $filename))->response(); });
중요 사항:
파일을 수동으로 제공하면 HTTP 서버에서 직접 처리하도록 하는 것에 비해 성능이 저하될 수 있습니다. 따라서 최적의 성능을 위해 선호되는 방법으로 기호 링크를 고려하십시오.
위 내용은 최적의 성능을 위해 Laravel 뷰에 저장된 이미지에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!