2017-04-24 1 views
0

Je construis mon premier projet laravel, donc je n'ai pas beaucoup d'expérience. J'ai ce formulaire pour télécharger plusieurs fichiers.Impossible d'accéder aux fichiers téléchargés dans Laravel

{!! Form::open(array('id' => 'upload', 'class' => 'form-horizontal', 'url' => 'upload', 'enctype' => 'multipart/form-data')) !!} 
     {!! Form::file('files[]', array('multiple'=>true)) !!} 
     {{ Form::submit('upload', array('class' => 'btn btn-success btn-block')) }} 
{!! Form::close() !!} 

Que j'enregistrer les fichiers dans un contrôleur comme celui-ci

public function postUpload(Request $request) { 
    $path = "public/documents/"; 
    if ($request->files) { 
     foreach ($request->files as $file) { 
      $fileName = $file->getClientOriginalName(); 
      $file->storeAs($path, $fileName); 
     } 
    } 
} 

Mais lorsque je tente de faire un lien pour ouvrir le fichier - Il dit que le fichier n'existe pas

<a href= {{storage_path('file.pdf') }}>click</a> 

J'ai essayé plusieurs façons différentes que j'ai pu trouver sur internet mais aucune d'entre elles n'a fonctionné pour moi.

Merci d'avance pour vos réponses.

Répondre

0

Vérifiez votre chemin, storage_path est différent de public_path. Je suppose que vous enregistrez votre fichier sur votre public_path()/documents et que vous essayez de télécharger votre fichier depuis storage_path().

Essayez de changer ceci:

<a href="{{storage_path('file.pdf')}}">click</a> 

à ceci:

<a href="{{public_path()}}/documents/file.pdf">click</a> 
+0

Merci pour votre commentaire. Mais non, les fichiers sont actuellement stockés dans le répertoire de stockage. J'ai même fait le lien symbolique pour le lier au dossier public mais pas d'aide. Je pense que ça va être une chose idiote. Je l'exécute sur la propriété si c'est l'information pertinente. le lien que vous avez fourni me donne cette URL -> http://katastr.app/home/vagrant/code/katastr/public/documents/file.pdf – vikiedr