/**
  * @param UploadArticle $uploadArticle
  * @param bool $reload
  * @return bool|Article
  * @throws ApiException
  */
 public function uploadArticle(UploadArticle $uploadArticle, $reload = false)
 {
     if (!file_exists($uploadArticle->getFile())) {
         throw new ApiException(sprintf("Unable to locate file: %s", $uploadArticle->getFile()));
     }
     $multipart = [['name' => 'key', 'contents' => $this->apiKey], ['name' => 'collectionId', 'contents' => $uploadArticle->getCollectionId()], ['name' => 'file', 'contents' => fopen($uploadArticle->getFile(), 'r')], ['name' => 'categoryId', 'contents' => $uploadArticle->getCategoryId()], ['name' => 'slug', 'contents' => $uploadArticle->getSlug()], ['name' => 'type', 'contents' => $uploadArticle->getType()], ['name' => 'reload', 'contents' => $reload]];
     $response = $this->doPostMultipart("articles/upload", $multipart);
     $articleData = (array) $response;
     return $reload ? new Article(reset($articleData)) : true;
 }