2015-10-15 5 views
5

Ich brauche Hilfe beim Speichern hochgeladener Dateiname in der Datenbanktabelle mit Laravel 5.1.So speichern Sie den Namen der hochgeladenen Datei in der Tabelle mit Laravel 5.1

Mein Controller-Code für Bilddetails Speichern

public function store(Request $request) 
{ 
    if($request->hasFile('img_filename')) 
    { 
     $destinationPath="offerimages"; 
     $file = $request->file('img_filename'); 
     $filename=$file->getClientOriginalName(); 
     $request->file('img_filename')->move($destinationPath,$filename); 

    } 

    $input=$request->all(); 
    Offer_image::create($input); 
    return redirect('offerimage'); 
} 

Meine Ansicht Codebild für die Annahme

{!! Form::open(array('route'=>'offerimage.store','role'=>'form','files'=>true)) !!} 
       <div class="box-body"> 

       <div class="form-group"> 
        {!! Form::label('img_name','Name') !!} 
        {!! Form::text('img_name', $value = null, $attributes = array('class'=>'form-control','id'=>'img_name','required')) !!} 
       </div> 

       <div class="form-group"> 
        {!! Form::label('img_description','Description') !!} 
        {!! Form::textarea('img_description', $value = null, $attributes = array('class'=>'form-control','id'=>'img_description','required')) !!} 
       </div> 

       <div class="form-group"> 
        {!! Form::label('img_filename','Upload Image') !!} 
        {!! Form::file('img_filename') !!} 
       </div> 



       {!! Form::hidden('status',$value='active') !!} 

       </div><!-- /.box-body --> 

       <div class="box-footer"> 
       {!! Form::submit('Submit',$attributes=array('class'=>'btn btn-primary')) !!} 
       </div> 
       {!! Form::close() !!} 

Dieser Controller-Code-Bild zu speichern, richtig zu arbeiten, aber wo ich versuche, Bilddateinamen zu speichern Dieser Code speichert den Dateipfad in der Datenbanktabelle.

Da ich direkte create() -Methode verwende, um das Anfrageobjekt in der Tabelle zu speichern, weiß ich nicht, wie ich den Dateinamen anstelle des Pfades speichern soll.

Check this Image for table data

+0

in meinem Fall ist es nicht funktioniert hat, weil der Dateiname Datenbankfeld das gleiche mit dem Dateieingangssteuer war Ich würde. Nach dem Ändern wurde der Dateinamensdatenfluss getrennt und der Dateiname wurde aus dem Dateieingabesteuerelement in das entsprechende Feld extrahiert. –

Antwort

8

Das Problem ist, dass Ihre Daten für die Anforderung nicht geändert hat, während Sie das Bild hochgeladen. So enthält img_filename noch tmpdata.

Sie können dies versuchen:

$input = $request->all(); 
$input['img_filename'] = $filename; 
+0

Das ist, was ich gesucht habe ..... Vielen Dank, das hat für mich funktioniert .... – dollar

0

Code, der funktioniert für mich:

$updir = 'images/'; 
$img_name = 'image.jpeg'; 
Request::file('img_filename')->move($updir, $img_name); 
+0

ja auch das funktioniert ... Danke – dollar

Verwandte Themen