ホームページ > バックエンド開発 > PHPチュートリアル > 最適なパフォーマンスを得るためにLaravelビューで保存された画像にアクセスするにはどうすればよいですか?

最適なパフォーマンスを得るためにLaravelビューで保存された画像にアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-09 03:22:11
オリジナル
717 人が閲覧しました

How to Access Stored Images in Laravel Views for Optimal Performance?

ビューレンダリングのために 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート