2016-05-24 5 views
1

Ich habe in meiner Laravel Anwendung in einer Upload-Form gebracht, die das Hochladen von Dateien und speichert es aber, wenn ich versuche, es mich zum Anzeigen joew:1 Not allowed to load local resource: file:///C:/xampp/htdocs/socialNet/public/uploads/joew.pngNicht erlaubt mit Laravel lokaler Ressource zu laden

Dies ist die Wurzel Ich habe in Die Dateisysteme.php Datei

So wird das Foto in einem Ordner namens "public" im Ordner gespeichert.

Dies ist die Funktion, die Datei

public function getUserAvatar() 
    { 
     if ($this->username) { 
      $userAvatar = User::where('username', $this->username)->value('avatar'); 
      return "{$userAvatar}"; 
     } 
     if (!$user) { 
      abort(404); 
     } 

    } 

Abrufen und das ist das Format, das sie in der Datenbank gespeichert wird.

C:\xampp\htdocs\socialNet\public\uploads\joew.png 

Antwort

3

Ihr Browser darf diese Datei nicht direkt von Ihrer Festplatte laden. Ihrer Ansicht nach werden immer Sie wahrscheinlich so etwas wie dieses:

<img src="C:\xampp\htdocs\socialNet\public\uploads\joew.png" />

Sie benötigen einen URL für den Browser dieses Bild zuzugreifen. Ihrer Ansicht nach müssen Sie so etwas wie:

<img src="{{ asset('uploads/joew.png') }}" />

Die asset() Funktion von Laravel erstellt eine URL aus dem public Ordner und fügt den param Sie es geben. So wird das eine URL wie: http://localhost/public/uploads/joew.png

Edit: Der Ordner, den Sie angegeben haben (Speicherpfad) ist wahrscheinlich nicht für den Browser überhaupt lesbar. Ändern Sie die Uploads in public_path('uploads') und es wird zugänglich sein.

+0

Dank dieser schließlich macht Sinn, aber wo ich die Funktion bin mit ihm zurückzukehren wie diese

+0

Es ist ein bisschen schwer, ohne mehr des Codes, sondern statt' return“{$ userAvatar} ";' Sie können 'return asset ('uploads /'. $ user-> getUserAvatar())' verwenden, wenn diese Methode nur den Dateinamen des Avatars zurückgibt. Am Ende müssen Sie den Browser angeben eine URL anstelle eines Dateipfads zu der Datei – stephangroen

+0

Danke nochmal, das funktioniert auch –

Verwandte Themen