/**
  * @param ArticleAsset $articleAsset
  * @return ArticleAsset
  * @throws ApiException
  */
 public function createArticleAsset(ArticleAsset $articleAsset)
 {
     if (!file_exists($articleAsset->getFile())) {
         throw new ApiException(sprintf("Unable to locate file: %s", $articleAsset->getFile()));
     }
     if (empty($articleAsset->getArticleId())) {
         throw new ApiException("articleId is empty or not provided");
     }
     if (empty($articleAsset->getAssetType())) {
         throw new ApiException("assetType is empty or not provided");
     }
     $multipart = [['name' => 'key', 'contents' => $this->apiKey], ['name' => 'articleId', 'contents' => $articleAsset->getArticleId()], ['name' => 'assetType', 'contents' => $articleAsset->getAssetType()], ['name' => 'file', 'contents' => fopen($articleAsset->getFile(), 'r')]];
     $uploadedAsset = $this->doPostMultipart('assets/article', $multipart);
     $articleAsset->setFileLink($uploadedAsset->filelink);
     return $articleAsset;
 }