Maison >développement back-end >tutoriel php >Comment puis-je accéder aux images de stockage dans les vues Laravel ?

Comment puis-je accéder aux images de stockage dans les vues Laravel ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-26 11:25:09363parcourir

How Can I Access Storage Images in Laravel Views?

Accès aux images de stockage dans les vues Laravel

Lorsque vous travaillez avec des images téléchargées stockées dans le stockage Laravel, les afficher dans des vues peut présenter un défi. Étant donné que le serveur achemine les requêtes vers /public, l'accès aux images stockées dans /storage nécessite une solution.

Lien symbolique

L'approche recommandée consiste à créer un lien symbolique entre / public/stockage et /storage/app/public. Cette commande est disponible dans les versions 5.3 et ultérieures de Laravel :

php artisan storage:link

Cela crée un lien symbolique vous permettant d'accéder aux fichiers dans /storage/app/public en utilisant des chemins tels que :

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

Itinéraire de fermeture

Si la création de lien symbolique n'est pas une option, vous pouvez définir un itinéraire de fermeture à lire et servir les images :

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;
});

Accédez aux images en utilisant le chemin suivant :

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

Avertissement

La diffusion manuelle des fichiers entraîne une pénalité de performances par rapport à la gestion côté serveur. Cependant, cette approche est utile pour les fichiers protégés ou les environnements où les liens symboliques ne peuvent pas être créés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn