Virtual Type XML Declaration:

<virtualType name="SliderSlideImageUploader" type="Magento\Catalog\Model\ImageUploader">
        <argument name="baseTmpPath" xsi:type="string">pub/media/tmp/slider/images</argument>
        <argument name="basePath" xsi:type="string">pub/media/slider/images</argument>
        <argument name="allowedExtensions" xsi:type="array">
            <item name="jpg" xsi:type="string">jpg</item>
            <item name="jpeg" xsi:type="string">jpeg</item>
            <item name="gif" xsi:type="string">gif</item>
            <item name="png" xsi:type="string">png</item>

Dependency Injection:

public function __construct(
    \Magento\Backend\App\Action\Context $context,
    \SliderSlideImageUploader $imageUploader
) {
    $this->imageUploader = $imageUploader;

I have tried \SliderSlideImageUploader and SliderSlideImageUploader for the constructor class.

I have cleared the cache with bin/magento cache:flush, uninstalled and reinstalled the module...

I have deleted all of var/generation.


Exception #0 (RuntimeException): Class Vendor\Slider\Controller\Adminhtml\Slide\Image\SliderSlideImageUploader does not exist

Exception #0 (RuntimeException): Class Vendor\Slider\Controller\Adminhtml\Slide\Image\SliderSlideImageUploader does not exist

My only idea now is that it is failing because Magento_Catalog is not in my module.xml sequence.

Anyone have any ideas?

This could potentially solve my problem, testing now: Receiving object specific class which was injected in constructor by three-part extension


I had to use type to modify the class that was injected.

<type name="Vendor\Slider\Controller\Adminhtml\Slide\Image\Upload">
        <argument name="imageUploader" xsi:type="object">SliderSlideImageUploader</argument>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.