Le stockage public Laravel renvoie 404 pour les images
P粉798343415
P粉798343415 2023-12-12 16:05:09
0
1
473

En suivant la documentation de Laravel (j'utilise Laravel avec docker en utilisant sail), j'ai créé un lien symbolique pour le stockage php artisan storage:link. J'ai également essayé de recréer le lien en utilisant le chemin complet en partant de la racine.

Puis je stocke un fichier

// ...
$filename = 'signatures/signature_' . auth()->user()->id . '-' . uniqid() . '.' . $image_type;
Storage::disk('public')->put($filename, $image_base64);

Après cela, je peux ouvrir avec succès mon fichier depuis la console :

open public/storage/signatures/signature_101-62a876ce68884.png

Quand j'essaie d'accéder au if depuis mon url, j'obtiens un 404 :

http://laravel.test/storage/signatures/signature_101-62a876ce68884.png

J'ai remarqué en essayant d'afficher l'image :

<img src="{{ url('/storage/' . $clients->signature->filename) }}">

J'ai enfin essayé

rm public/storage
php artisan optimize:clear
php artisan storage:link

Aucun succès

P粉798343415
P粉798343415

répondre à tous(1)
P粉799885311

J'ai trouvé la solution. Laravel recommande d'utiliser sail en premier, mais la documentation ne couvre pas ce comportement.

Les liens symboliques doivent être créés dans le conteneur !

Dans le répertoire racine du projet :

  • rm public/stockage
  • docker exec -it php artisan storage : lien
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal