Maison  >  Questions et réponses  >  le corps du texte

Le stockage public Laravel renvoie 404 pour les images

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粉798343415P粉798343415286 Il y a quelques jours403

répondre à tous(1)je répondrai

  • P粉799885311

    P粉7998853112023-12-13 09:25:59

    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

    répondre
    0
  • Annulerrépondre