Exemple #1
0
 /**
  * Construct
  *
  * @param \Magento\Framework\App\Helper\Context $context
  * @param \Magento\Downloadable\Helper\File $fileHelper
  * @param \Magento\CatalogImportExport\Model\Import\UploaderFactory $uploaderFactory
  * @param \Magento\Framework\App\ResourceConnection $resource
  * @param \Magento\Framework\Filesystem $filesystem
  */
 public function __construct(\Magento\Framework\App\Helper\Context $context, \Magento\Downloadable\Helper\File $fileHelper, \Magento\CatalogImportExport\Model\Import\UploaderFactory $uploaderFactory, \Magento\Framework\App\ResourceConnection $resource, \Magento\Framework\Filesystem $filesystem)
 {
     parent::__construct($context);
     $this->fileHelper = $fileHelper;
     $this->fileUploader = $uploaderFactory->create();
     $this->fileUploader->init();
     $this->fileUploader->setAllowedExtensions($this->getAllowedExtensions());
     $this->fileUploader->removeValidateCallback('catalog_product_image');
     $this->connection = $resource->getConnection('write');
     $this->mediaDirectory = $filesystem->getDirectoryWrite(DirectoryList::ROOT);
 }
Exemple #2
0
 /**
  * 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;
 }
Exemple #3
0
 /**
  * Returns an object for upload a media files
  *
  * @return \Magento\CatalogImportExport\Model\Import\Uploader
  * @throws \Magento\Framework\Model\Exception
  */
 protected function _getUploader()
 {
     if (is_null($this->_fileUploader)) {
         $this->_fileUploader = $this->_uploaderFactory->create();
         $this->_fileUploader->init();
         $tmpPath = $this->_mediaDirectory->getAbsolutePath('import');
         if (!$this->_fileUploader->setTmpDir($tmpPath)) {
             throw new \Magento\Framework\Model\Exception(sprintf("File directory '%s' is not readable.", $tmpPath));
         }
         $destinationDir = "catalog/product";
         $destinationPath = $this->_mediaDirectory->getAbsolutePath($destinationDir);
         $this->_mediaDirectory->create($destinationDir);
         if (!$this->_fileUploader->setDestDir($destinationPath)) {
             throw new \Magento\Framework\Model\Exception(sprintf("File directory '%s' is not writable.", $destinationPath));
         }
     }
     return $this->_fileUploader;
 }