5
5
*/
6
6
namespace Magento \Catalog \Model \Category \Attribute \Backend ;
7
7
8
- use Magento \Catalog \Model \ImageUploader ;
9
8
use Magento \Framework \App \Filesystem \DirectoryList ;
10
9
use Magento \Framework \App \ObjectManager ;
11
10
use Magento \Framework \File \Uploader ;
@@ -49,7 +48,7 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
49
48
protected $ _logger ;
50
49
51
50
/**
52
- * @var ImageUploader
51
+ * @var \Magento\Catalog\Model\ ImageUploader
53
52
*/
54
53
private $ imageUploader ;
55
54
@@ -68,22 +67,18 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
68
67
* @param \Magento\Framework\Filesystem $filesystem
69
68
* @param \Magento\MediaStorage\Model\File\UploaderFactory $fileUploaderFactory
70
69
* @param StoreManagerInterface $storeManager
71
- * @param ImageUploader $imageUploader
72
70
*/
73
71
public function __construct (
74
72
\Psr \Log \LoggerInterface $ logger ,
75
73
\Magento \Framework \Filesystem $ filesystem ,
76
74
\Magento \MediaStorage \Model \File \UploaderFactory $ fileUploaderFactory ,
77
- StoreManagerInterface $ storeManager = null ,
78
- ImageUploader $ imageUploader = null
75
+ StoreManagerInterface $ storeManager = null
79
76
) {
80
77
$ this ->_filesystem = $ filesystem ;
81
78
$ this ->_fileUploaderFactory = $ fileUploaderFactory ;
82
79
$ this ->_logger = $ logger ;
83
80
$ this ->storeManager = $ storeManager ??
84
81
ObjectManager::getInstance ()->get (StoreManagerInterface::class);
85
- $ this ->imageUploader = $ imageUploader ??
86
- ObjectManager::getInstance ()->get (ImageUploader::class);
87
82
}
88
83
89
84
/**
@@ -112,9 +107,10 @@ private function getUploadedImageName($value)
112
107
*/
113
108
private function checkUniqueImageName (string $ imageName ): string
114
109
{
110
+ $ imageUploader = $ this ->getImageUploader ();
115
111
$ mediaDirectory = $ this ->_filesystem ->getDirectoryWrite (DirectoryList::MEDIA );
116
112
$ imageAbsolutePath = $ mediaDirectory ->getAbsolutePath (
117
- $ this -> imageUploader ->getBasePath () . DIRECTORY_SEPARATOR . $ imageName
113
+ $ imageUploader ->getBasePath () . DIRECTORY_SEPARATOR . $ imageName
118
114
);
119
115
120
116
$ imageName = Uploader::getNewFilename ($ imageAbsolutePath );
@@ -142,7 +138,7 @@ public function beforeSave($object)
142
138
/** @var StoreInterface $store */
143
139
$ store = $ this ->storeManager ->getStore ();
144
140
$ baseMediaDir = $ store ->getBaseMediaDir ();
145
- $ newImgRelativePath = $ this ->imageUploader ->moveFileFromTmp ($ imageName , true );
141
+ $ newImgRelativePath = $ this ->getImageUploader () ->moveFileFromTmp ($ imageName , true );
146
142
$ value [0 ]['url ' ] = '/ ' . $ baseMediaDir . '/ ' . $ newImgRelativePath ;
147
143
$ value [0 ]['name ' ] = $ value [0 ]['url ' ];
148
144
} catch (\Exception $ e ) {
@@ -168,6 +164,23 @@ public function beforeSave($object)
168
164
return parent ::beforeSave ($ object );
169
165
}
170
166
167
+ /**
168
+ * Get Instance of Category Image Uploader.
169
+ *
170
+ * @return \Magento\Catalog\Model\ImageUploader
171
+ *
172
+ * @deprecated 101.0.0
173
+ */
174
+ private function getImageUploader ()
175
+ {
176
+ if ($ this ->imageUploader === null ) {
177
+ $ this ->imageUploader = \Magento \Framework \App \ObjectManager::getInstance ()
178
+ ->get ("\Magento\Catalog\CategoryImageUpload " );
179
+ }
180
+
181
+ return $ this ->imageUploader ;
182
+ }
183
+
171
184
/**
172
185
* Check if temporary file is available for new image upload.
173
186
*
0 commit comments