2016-08-03 18 views
2

ich alle Benutzerdateien in das Verzeichnis hochladen:Wie man ein Bild von Ressourcen in Laravel bekommt?

/resources/app/uploads/ 

Ich versuche, durch vollständigen Pfad Bild zu bekommen:

http://localhost/resources/app/uploads/e00bdaa62492a320b78b203e2980169c.jpg 

Aber ich bekomme Fehler:

NotFoundHttpException in RouteCollection.php line 161: 

Wie kann ich Bild bekommen auf diesem Weg?

Jetzt versuche ich Datei im Verzeichnis/public/uploads/in der Wurzel uplaod:

$destinationPath = public_path(sprintf("\\uploads\\%s\\", str_random(8))); 
$uploaded = Storage::put($destinationPath. $fileName, file_get_contents($file->getRealPath())); 

Es gibt mir Fehler:

Impossible to create the root directory 
+0

try-Upload in der öffentlichen Ordnern befindet .. dann sollten Sie in der Lage sein, mit Asset zuzugreifen() -Methode .. – Jaimin

+0

Okay, wie Pfad zum öffentlichen Verzeichnis angeben, in 'Lagerung: : put() '? – Dev

+0

Sie können public_path() beim Speichern und asset() beim Abrufen verwenden. – Jaimin

Antwort

3

hilft Ihnen, diese Datei auf Ihrem Blade versuchen kann. Der Bilder-Ordner in dem öffentlichen Ordner

<img src="{{URL::asset('/images/image_name.png')}}" /> 
13

Sie eine Route speziell für die Anzeige von Bildern zu machen.

Zum Beispiel:

Route::get('/resources/app/uploads/{filename}', function($filename){ 
    $path = resource_path() . '/app/uploads/' . $filename; 

    if(!File::exists($path)) { 
     return response()->json(['message' => 'Image not found.'], 404); 
    } 

    $file = File::get($path); 
    $type = File::mimeType($path); 

    $response = Response::make($file, 200); 
    $response->header("Content-Type", $type); 

    return $response; 
}); 

So, jetzt können Sie localhost/resources/app/uploads/filename.png gehen und es sollte das Bild angezeigt werden soll.

+0

Danke, aber wenn ich nur Weg zum img bekommen muss? – Dev

+0

Das hat mir bei der Verwendung der Dingo API sehr geholfen. – Logus

2

Versuchen {{asset('path/to/your/image.jpg')}}, wenn Sie es von Ihrer Klinge

oder

$url = asset('path/to/your/image.jpg'); nennen wollen, wenn Sie es in Ihrem Controller mögen.

Hope it =)