/**
  * Returns an object for upload a media files
  */
 protected function _getUploader()
 {
     if (is_null($this->_fileUploader)) {
         $this->_fileUploader = new Mage_ImportExport_Model_Import_Uploader();
         $this->_fileUploader->init();
         $this->_fileUploader->removeValidateCallback('catalog_product_image');
         $this->_fileUploader->setFilesDispersion(false);
         $tmpDir = Mage::getConfig()->getOptions()->getMediaDir() . '/import';
         $destDir = Mage::getConfig()->getOptions()->getMediaDir() . '/catalog/category';
         if (!is_writable($destDir)) {
             @mkdir($destDir, 0777, true);
         }
         // diglin - add auto creation in case folder doesn't exist
         if (!file_exists($tmpDir)) {
             @mkdir($tmpDir, 0777, true);
         }
         if (!$this->_fileUploader->setTmpDir($tmpDir)) {
             Mage::throwException("File directory '{$tmpDir}' is not readable.");
         }
         if (!$this->_fileUploader->setDestDir($destDir)) {
             Mage::throwException("File directory '{$destDir}' is not writable.");
         }
     }
     return $this->_fileUploader;
 }