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!