2016-06-29 11 views
0
\Storage::disk('verify_files')->put('verify-' . $fileCode[3], $fileCode[0]); 

    $attach = \Storage::get(storage_path('app/public/verify') . '/' . 'verify-' . $fileCode[3]); 

Ich verwende den obigen Code zum Generieren und Abrufen der Datei.[Laravel 5.2] Speicherdatei nicht gefunden, auch wenn sie existiert

Hier wird das Dateisystem verwende ich:

'verify_files' => [ 
     'driver' => 'local', 
     'root' => storage_path('app/public/verify'), 
     'visibility' => 'public', 
    ], 

Wenn ich es mit file_exists Test(), gibt es wahr, aber Laravel gibt FileNotFoundException in FilesystemAdapter.php line 61:

Fehle ich etwas hier?

Antwort

2

Die Methode get der Storage-Fassade sucht automatisch im Verzeichnis der Standardfestplatte. In diesem Fall übergeben Sie den absoluten Pfad an die Datei mit storage_path, die redundant ist, da es innerhalb des storage/app-Verzeichnisses wie es aussieht.

Stattdessen tun Sie Storage::disk('verify_files')->get('verify-' . $fileCode[3]);

Verwenden Sie storage_path, wenn Sie absolute Pfade zu Dateien und Verzeichnissen benötigen.

+0

Ich habe den Pfad übergeben, anstatt die Storage-Fassade zu verwenden und von dort aus zu verarbeiten. Ich werde Sie aktualisieren, wenn Ihre Antwort funktioniert. Vielen Dank! – HDKT

+0

Fast einen Monat und ich habe vergessen zu aktualisieren. Das Problem war -> get() holt den Inhalt. Ich habe die Datei mit etwas wie Speicherpfad ('app/public/verify') abgerufen. "/" $ datei Wenn es eine bessere Lösung gibt, bitte erzählen! – HDKT

0

ich den gleichen Fehler wie Sie bekommen, es sei denn ich eine andere Methode Sie verwendet haben:

  $parse = new Parsedown(); 
      $url = url('about.md'); // This would fail, because it returns absolute 
      $url = 'about.md'; // the file is living in the root directory of public. This would succeed, because it's relative 

      try { // catch file not found errors 
       $about = File::get($url); 
      } catch (Illuminate\Filesystem\FileNotFoundException $exception) { 
       die ('Bad File'); 
      } 

      echo $parse->text($about); 

Das kam aus einer Kombination von this page und wenn @SArnab oben über den Pfad nicht erwähnt benötigen absolut sein.

Neben mir mit einer anderen Methode, das einzige Problem, das ich vorher hatte, war, dass ich einen absoluten Pfad anstelle einer relativen verwendet, die ich jetzt verwende.

Ich dachte nur, ich würde diese alternative Methode hinzufügen, um Dateiinhalte in Laravel 5.2 zu bekommen.

Viel Spaß!

Verwandte Themen