뷰 내에서 Laravel 저장소에 저장된 이미지에 액세스
Laravel 저장소에 저장된 사용자 아바타에 액세스하고 이를 뷰에서 렌더링하려면 여러 옵션이 있습니다. .
방법 1: 기호적 링크
권장되는 접근 방식은 공용 폴더와 이미지가 저장된 저장 폴더 사이에 심볼릭 링크를 만드는 것입니다. 이를 통해 마치 공용 폴더에 있는 것처럼 저장소 폴더의 파일에 액세스할 수 있습니다. 심볼릭 링크를 생성하려면 다음 명령을 사용하면 됩니다.
php artisan storage:link
이렇게 하면 public/storage에서 Storage/app/public으로의 링크가 생성됩니다. 그런 다음 다음과 같은 경로를 사용하여 이미지에 액세스할 수 있습니다.
http://somedomain.com/storage/image.jpg
방법 2: 지정 경로(심볼릭 링크 없음)
심볼릭 링크를 생성하는 것이 불가능할 경우 스토리지 폴더에서 이미지를 읽고 제공하기 위한 특정 경로를 생성할 수 있습니다. 예:
Route::get('storage/{filename}', function ($filename) { // Path to the file $path = storage_path('public/' . $filename); // Check if file exists if (!File::exists($path)) { abort(404); } // Retrieve file contents and mime type $file = File::get($path); $type = File::mimeType($path); // Create a response object $response = Response::make($file, 200); $response->header("Content-Type", $type); // Return the response return $response; });
다음과 같은 경로를 사용하여 이미지에 액세스할 수 있습니다.
http://somedomain.com/storage/image.jpg
성능 고려 사항
다음 사항에 유의하는 것이 중요합니다. 경로를 사용하여 파일을 수동으로 제공하면 기호 링크를 사용할 때보다 성능이 저하됩니다. 이는 전체 Laravel 요청 라이프사이클이 파일 내용을 검색하기 위해 실행되기 때문입니다.
위 내용은 내 뷰 내에서 Laravel 저장소에 저장된 이미지에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!