2014-07-27 44 views
0

我正在嘗試將一些產品添加到我的數據庫中,並且必須上傳此產品的照片。我製作了一個控制器和視圖,但是當我點擊創建時,我沒有任何錯誤,但是我沒有照片。我只想上傳jpg,jpeg,gif,png文件,我該怎麼做?這裏是我的代碼:無法上傳Laravel 4中的照片4

控制器:

public function postAddProduct(){ 
    $destinationPath = ''; 
    $filename  = ''; 
    $newId = Product::max('id')+1; 
    $validator = Validator::make(Input::all(), array(
     'name' => 'required',  
     'description' => 'required',    
     'partner_link' => 'required', 
     'image' => 'required' 
    )); 
    if (Input::hasFile('image')) { 
     $file   = Input::file('image'); 
     $destinationPath = public_path().'/uploads/products/'; 
     $filename  = $newId.'.'.$file->getClientOriginalExtension(); 
     $uploadSuccess = $file->move($destinationPath, $filename); 
    } 

    if($validator->passes()){ 
     $product = new Product; 
     $product->name = Input::get('name'); 
     $product->description = Input::get('description'); 
     $product->category_id = Input::get('category'); 
     $product->partner_link = Input::get('partner_link'); 
     $product->photo = $filename; 
     $product->save(); 

     return Redirect::back(); 
    }else{ 
     return Redirect::back()->withErrors($validator)->withInput(); 
    } 

} 

查看:

{{ Form::open(array('url'=>'user/admin/products/addd', 'class'=>'col-md-4', 'style'=> 'float:none; margin: 0 auto', 'id'=>'register-form')) }} 
      <h2 class="form-signin-heading">Add Product</h2>  
      {{ Form::text('name', null, array('class'=>'form-control', 'placeholder'=>'Name')) }}  
      {{ Form::text('description', null, array('class'=>'form-control', 'placeholder'=>'Description')) }} 
      {{ Form::text('partner_link', null, array('class'=>'form-control', 'placeholder'=>'Partner link')) }} 
      {{Form::label('category', 'Category: ', array('class' => 'field-name'))}} 
      <select name="category"> 
       <?php $i = 0; ?> 
       @foreach($categories as $category)  
        <optgroup label="{{$category['name']}}"> 
        @foreach($category['subcategories'] as $sub) 
         <option value="{{$sub->id}}">{{$sub->name}}</option> 
        @endforeach 
        </optgroup> 
       @endforeach 
      </select> 
      <div class="clearfix"></div>     
      {{Form::file('image', array('style' => 'margin-bottom: 10px'))}} 
      {{ Form::submit('Save', array('class'=>'btn btn-large btn-primary btn-block'))}} 
     {{ Form::close() }} 

回答

1

您形成應該有選擇 '文件' 設置爲 '真':

{{ Form::open(array('url' => 'foo/bar', 'files' => true)) }}