2016-07-03 27 views
2

写真をフォームにアップロードしたい。 Photoリソースを正しく設定しました。表の写真:ID、タイトル、キャプション、パス:文字列。Laravel4:画像をアップロードする

{{Form::open(array('route' => 'CrewRegisterPost', 'role'=>'form','files'=> true,'class' => 'form-horizontal','style' => 'margin-top:15px;'))}} 
    <label class="col-md-4 control-label" for="license_image">Colour scanned copy of Licence *</label> 
    <div class="col-md-6"> 
     <input type="file" name="license_image" accept="image/*" required> 
      {{Form::showError('license_image')}}   
    </div> 
{{Form::close()}} 

これは私が今まで作られたシンプルな店舗方法である:私は置くことができますどのように

public function createNewCrew($data){ 
     $user = $this->storeNewUserCommonFields($data,User::getTypeNumberFor('Crew')); 

     $validator = new Saarang\Validators\FlightCrewValidator($data); 

     if($validator->fails()){ 
      $this->messageBag->merge($validator->errors->getMessages()); 
     } 

     if($user){ 
      $Crew = new Crew(); 
      $Crew->user_id = $user->getKey(); 
      $Crewlicense_image = $data['license_image']; 
      $savepath = 'public/img/'; 
      $filename = time() . '-' .$Crewlicense_image; 
      Input::file('license_image')->move($savepath, $filename); 
      $Crew->save(); 
      return $user; 
     } 
} 

But when I run it I get the following error: Call to a member function move() on a non-object

これは、画像をアップロードすることをユーザーに尋ねるフォームの一部でありますその実装は、ファイルを取得し、public/imgにあるフォルダに保存するように正しく実装されていますか?

+0

最初にフォームを作成し、enctype属性をmultipartフォームデータに設定し、上記のフォームに入力する必要があります。 – user3786134

+0

ちょうどアドバイスとして、dropzoneのプラグインが私を大いに助けました。 –

答えて

0

使用してみてください: -

move(base_path().savepath, $filename); 

代わりの

move($savepath, $filename); 

ためBASE_PATH()メソッドを記述することなく、エラーのこのタイプを示しています。

これがうまくいくと思います。