I am trying to upload an Image and display a form in a custom admin-module using UI components
<field name="events_url">
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="dataType" xsi:type="string">string</item>
<item name="source" xsi:type="string">event</item>
<item name="label" xsi:type="string" translate="true">Image</item>
<item name="visible" xsi:type="boolean">true</item>
<item name="formElement" xsi:type="string">fileUploader</item>
<item name="elementTmpl" xsi:type="string">ui/form/element/uploader/uploader</item>
<item name="previewTmpl" xsi:type="string">Scale_Events/image-preview</item>
<item name="required" xsi:type="boolean">false</item>
<item name="uploaderConfig" xsi:type="array">
<item name="url" xsi:type="url" path="events/test/upload"/>
</item>
</item>
</argument>
</field>
Controller
<?php
namespace Scale\Events\Controller\Adminhtml\Test;
use Magento\Framework\Controller\ResultFactory;
use Magento\Framework\App\Filesystem\DirectoryList;
use Magento\Backend\App\Action;
class Upload extends \Magento\Backend\App\Action
{
protected $_fileUploaderFactory;
public function __construct(
\Magento\MediaStorage\Model\File\UploaderFactory $fileUploaderFactory,
Action\Context $context
) {
$this->_fileUploaderFactory = $fileUploaderFactory;
parent::__construct($context);
}
public function execute(){
$uploader = $this->_fileUploaderFactory->create(['fileId' => 'image']);
var_dump($uploader); die();
$uploader->setAllowedExtensions(['jpg', 'jpeg', 'gif', 'png']);
$uploader->setAllowRenameFiles(false);
$uploader->setFilesDispersion(false);
$path = $this->_filesystem->getDirectoryRead(DirectoryList::MEDIA)
->getAbsolutePath('images/');
echo $path; die();
$uploader->save($path);
}
}
?>
The file was not uploaded.
– Nitesh Kumar Singh May 24 '18 at 07:41