2016-08-21 34 views
0

我想使用Laravel上傳Dropbox Api文件。我使用以下代碼從我的驅動器上傳到Dropbox。但是,雖然上傳我得到以下錯誤:Laravel Dropbox火上傳 - 在Checker.php中的InvalidArgumentException第22行:

InvalidArgumentException in Checker.php line 22: 
'inStream' has bad type; expecting resource, got Illuminate\Http\UploadedFile 

如果有人遇到或解決了這個問題,請幫我解決它。

這裏是我的控制器代碼:

public function dropboxFileUpload() 
     { 
      $Client = new Client(env('DROPBOX_TOKEN'), env('DROPBOX_SECRET')); 

        $dropboxFileName=''; 
        $file = Input::file('image'); 

       $size = Input::file('image')->getSize(); 
       $name = Input::file('image')->getClientOriginalName(); 
       $dropboxFileName = '/'.$name; 


      $Client->uploadFile($dropboxFileName,WriteMode::add(),$file, $size); 
      $links['share'] = $Client->createShareableLink($dropboxFileName); 
      $links['view'] = $Client->createTemporaryDirectLink($dropboxFileName); 

      print_r($links); 
     } 

這裏是路線的一部分:

Route::post('dropboxFileUpload', '[email protected]'); 

,這裏是視圖部分:

<form style="border: 4px solid #a1a1a1;margin-top: 15px;padding: 10px;" action="{{ URL::to('dropboxFileUpload') }}" class="form-horizontal" method="post" enctype="multipart/form-data" > 
      <input type="file" name="image" /> 
       {!! Form::token(); !!} 
      {!! csrf_field() ; !!} 
      <button class="btn btn-primary">Import File</button> 
     </form> 

回答

0

能不能請你

$Client->uploadFile($dropboxFileName,WriteMode::add(),$file, $size, null, true); 

它用於指示文件是否用於測試目的。這將跳過驗證。

第二件事是檢查,如果你創建的\Illuminate\Http\UploadedFile對象,而不是\Symfony\Component\HttpFoundation\File\UploadedFile

+0

同樣的錯誤,我越來越! – Hola

+0

相同的錯誤我得到的實際和是我已經使用'使用Illuminate \ Http \ UploadedFile;'控制器中的命名空間 – Hola