/** * @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; }