2015-10-15 18 views
5

Tôi cần trợ giúp trong việc lưu tên tệp được tải lên trong bảng cơ sở dữ liệu bằng cách sử dụng laravel 5.1.Cách lưu tên tệp đã tải lên trong bảng bằng cách sử dụng Laravel 5.1

đang

My điều khiển để tiết kiệm chi tiết hình ảnh

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'); 
} 

xem mã của tôi để chấp nhận hình ảnh

{!! 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() !!} 

này mã điều khiển để lưu trữ hình ảnh hoạt động bình thường, nhưng mà tôi đang cố gắng để lưu tên tập tin hình ảnh vào bảng, mã này đang lưu trữ filepath vào bảng cơ sở dữ liệu.

Vì tôi đang sử dụng phương thức create() trực tiếp để lưu trữ đối tượng yêu cầu trong bảng, tôi không biết cách lưu trữ tên tệp thay vì đường dẫn.

Check this Image for table data

+0

trong trường hợp của tôi nó không làm việc vì trường tên tập tin cơ sở dữ liệu là như nhau với sự kiểm soát đầu vào tập tin ID. Sau khi thay đổi chúng, lưu lượng dữ liệu tên tệp đã được tách ra và tên tệp được trích xuất từ ​​điều khiển nhập tệp vào trường tương ứng –

Trả lời

8

Vấn đề là dữ liệu yêu cầu của bạn không thay đổi khi bạn tải ảnh lên. Vì vậy, img_filename vẫn chứa tmpdata.

Bạn có thể thử này:

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

Đây là những gì tôi đang tìm kiếm ..... Cảm ơn bạn rất nhiều điều này đã làm việc cho tôi .... – dollar

0

Mã mà làm việc cho tôi:

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

vâng ngay cả công trình này ... Cảm ơn – dollar

Các vấn đề liên quan