2016-05-10 8 views
0

mein Controller ist:Laravel 5.2 store Bild in Datenbank

public function store(Request $request) 
{ 
    $this->validate($request, ['title' => 'required', 
          'date' => 'required', 
          'image_1' => 'mimes:png,jpeg', 
          ]); 

    $user = Auth::user()->id; 
    $report = new Report($request->all()); 
    $report->author_id = $user; 

    $image = $request->file('image_1'); 
    $ext = $image->getClientOriginalExtension(); 
    $path = public_path('uploads/reports/' . $image . $ext); 

    $report->image_1 = $path; 
    $report->save(); 

    Session::flash('flash_message', 'Report added!'); 

    return redirect('dash/reports'); 
} 

alles ok ohne Namen meines Bildes, meine App-Store-Daten wie

/var/www/localhost/htdocs/gemini/public/uploads/reports//tmp/phpul0PNipng 

warum Gebrauch/tmp/Zufalls Name?

+0

Sie können auch versuchen, die Interventions-API für die Bildverwaltung zu verwenden. – Shubhamoy

Antwort

2
$request->file('image_1') 

Dies gibt ein Objekt und keinen Dateinamen zurück. Sie erhalten die Erweiterung korrekt, so dass Sie den Dateinamen auf die gleiche Weise erhalten können:

$path = public_path('uploads/reports/' . $image->getClientOriginalName() . $ext); 
+0

nett, danke mann! – user0111001101