/** * Returns an object for upload a media files * * @param string $type * @param array $parameters * @return \Magento\CatalogImportExport\Model\Import\Uploader * @throws \Magento\Framework\Exception\LocalizedException */ public function getUploader($type, $parameters) { $dirConfig = DirectoryList::getDefaultConfig(); $dirAddon = $dirConfig[DirectoryList::MEDIA][DirectoryList::PATH]; $DS = DIRECTORY_SEPARATOR; if (!empty($parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR])) { $tmpPath = $parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR]; } else { $tmpPath = $dirAddon . $DS . $this->mediaDirectory->getRelativePath('import'); } if (!$this->fileUploader->setTmpDir($tmpPath)) { throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not readable.', $tmpPath)); } $destinationDir = "downloadable/files/" . $type; $destinationPath = $dirAddon . $DS . $this->mediaDirectory->getRelativePath($destinationDir); $this->mediaDirectory->create($destinationDir); if (!$this->fileUploader->setDestDir($destinationPath)) { throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not writable.', $destinationPath)); } return $this->fileUploader; }
/** * Returns an object for upload a media files * * @return \Magento\CatalogImportExport\Model\Import\Uploader * @throws \Magento\Framework\Exception\LocalizedException */ protected function _getUploader() { if (is_null($this->_fileUploader)) { $this->_fileUploader = $this->_uploaderFactory->create(); $this->_fileUploader->init(); $dirConfig = DirectoryList::getDefaultConfig(); $dirAddon = $dirConfig[DirectoryList::MEDIA][DirectoryList::PATH]; $DS = DIRECTORY_SEPARATOR; if (!empty($this->_parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR])) { $tmpPath = $this->_parameters[\Magento\ImportExport\Model\Import::FIELD_NAME_IMG_FILE_DIR]; } else { $tmpPath = $dirAddon . $DS . $this->_mediaDirectory->getRelativePath('import'); } if (!$this->_fileUploader->setTmpDir($tmpPath)) { throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not readable.', $tmpPath)); } $destinationDir = "catalog/product"; $destinationPath = $dirAddon . $DS . $this->_mediaDirectory->getRelativePath($destinationDir); $this->_mediaDirectory->create($destinationPath); if (!$this->_fileUploader->setDestDir($destinationPath)) { throw new \Magento\Framework\Exception\LocalizedException(__('File directory \'%1\' is not writable.', $destinationPath)); } } return $this->_fileUploader; }