ホームページ >バックエンド開発 >PHPチュートリアル >Laravelビューでストレージイメージにアクセスするにはどうすればよいですか?

Laravelビューでストレージイメージにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-26 11:25:09324ブラウズ

How Can I Access Storage Images in Laravel Views?

Laravel ビューでのストレージ イメージへのアクセス

Laravel ストレージに保存されているアップロードされたイメージを操作する場合、それらのイメージをビューに表示するのが難しい場合があります。サーバーはリクエストを /public にルーティングするため、/storage に保存されているイメージにアクセスするには解決策が必要です。

シンボリック リンク

推奨されるアプローチは、/ の間にシンボリック リンクを作成することです。 public/storage と /storage/app/public。このコマンドは、Laravel バージョン 5.3 以降で使用できます:

php artisan storage:link

これにより、次のようなパスを使用して /storage/app/public 内のファイルにアクセスできるシンボリックリンクが作成されます:

http://somedomain.com/storage/image.jpg

閉鎖ルート

シンボリック リンクの作成がオプションでない場合は、画像を読み取って提供するためのクロージャ ルートを定義できます:

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

警告

ファイルを手動で提供すると、サーバー側での処理に比べてパフォーマンスが低下します。ただし、このアプローチは、保護されたファイルやシンボリック リンクを作成できない環境では便利です。

以上がLaravelビューでストレージイメージにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。