/**
  * 上传
  * @param Response $authResponse
  * @param $filePath
  * @return UploadResponse
  * @throws DeepInException
  */
 protected function upload(Response $authResponse, $filePath)
 {
     $authResponseValue = $authResponse->getResponseValue();
     if (!$authResponseValue instanceof ResponseAuthValue) {
         throw new DeepInException("必须使用ResponseAuthValue作为格式化对象~!");
     }
     $params = $authResponseValue->getPostBody();
     $params['file'] = new \CURLFile($filePath);
     $request = new Request($authResponseValue->getPostUrl(), HttpMethod::POST, RequestBodyEncodeType::FORM_DATA);
     $this->curl = new Curl($request);
     $request->addParams($params);
     $response = $this->curl->makeRequest(new ResponseUploadValue());
     //  检查返回
     try {
         $response->check();
     } catch (CurlException $e) {
         throw new DeepInException($e->getMessage());
     }
     $upYunResponse = $this->getUpYunUrl($authResponseValue->getResourceUrl());
     return new UploadResponse($authResponseValue, $response->getResponseValue(), $upYunResponse->getResponseValue());
 }