Il faudrait que tu donne les droits d'acces au dossier storage mais ça va etre compliqué si tu n'as pas d'accès ssh, donc oui tu peux stocker tes images dans le dossier public.
Rajoute dans config/filesystem, en dernier disks:
'uploads' => [
'driver' => 'local',
'root' => public_path('uploads'),
],
puis maintenant, soit tu utilise:
Storage::disk('uploads')->storeAs('images', $request->file);
Il seront stocké dans publc/uploads/images
Et pour les récuperer :
Storage::disk('uploads')->get('images/'.$article->image);
ou
src="/uploads/images/{$article->image}"
ou tu peux faire un setter dans ton model :
public function setImageAttribute($value)
{
if(is_file($value)) {
$attribute_name = "image";
$disk = "uploads";
$destination_path = "images";
$this->uploadFileToDisk($value, $attribute_name, $disk, $destination_path);
}
$this->attributes['image'] = $value;
}
Je t'avoue que stocker des fichiers dans le dossier public qui ne sont pas utilisé pour le design du site, c'est pas top top... mais bon