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