75 \
Magento\Framework\File\Size $fileSize,
77 \
Magento\MediaStorage\Model\File\UploaderFactory $uploaderFactory,
78 array $uploadLimits = []
81 $this->_fileSize = $fileSize;
82 $this->_uploaderFactory = $uploaderFactory;
84 if (isset($uploadLimits[
'css'])) {
85 $this->_cssUploadLimit = $uploadLimits[
'css'];
87 if (isset($uploadLimits[
'js'])) {
88 $this->_jsUploadLimit = $uploadLimits[
'js'];
99 public function uploadCssFile($file)
102 $fileUploader = $this->_uploaderFactory->create([
'fileId' => $file]);
103 $fileUploader->setAllowedExtensions([
'css']);
104 $fileUploader->setAllowRenameFiles(
true);
105 $fileUploader->setAllowCreateFolders(
true);
108 if (!$isValidFileSize) {
109 throw new \Magento\Framework\Exception\LocalizedException(
114 $file = $fileUploader->validateFile();
115 return [
'filename' => $file[
'name'],
'content' => $this->
getFileContent($file[
'tmp_name'])];
125 public function uploadJsFile($file)
128 $fileUploader = $this->_uploaderFactory->create([
'fileId' => $file]);
129 $fileUploader->setAllowedExtensions([
'js']);
130 $fileUploader->setAllowRenameFiles(
true);
131 $fileUploader->setAllowCreateFolders(
true);
134 if (!$isValidFileSize) {
135 throw new \Magento\Framework\Exception\LocalizedException(
140 $file = $fileUploader->validateFile();
141 return [
'filename' => $file[
'name'],
'content' => $this->
getFileContent($file[
'tmp_name'])];
152 return $this->_tmpDirectory->readFile($this->_tmpDirectory->getRelativePath($filePath));
162 return $this->_getMaxUploadSize($this->_cssUploadLimit);
172 return $this->_getMaxUploadSize($this->_jsUploadLimit);
181 private function _getMaxUploadSize($configuredLimit)
183 $maxIniUploadSize = $this->_fileSize->getMaxFileSize();
184 if ($configuredLimit ===
null) {
185 return $maxIniUploadSize;
187 $maxUploadSize = $this->dataSize->convertSizeToBytes($configuredLimit);
188 return min($maxUploadSize, $maxIniUploadSize);
220 if ($fileSize > $maxFileSize) {
__construct(\Magento\Framework\Filesystem $filesystem, \Magento\Framework\File\Size $fileSize, \Magento\Framework\Convert\DataSize $dataSize, \Magento\MediaStorage\Model\File\UploaderFactory $uploaderFactory, array $uploadLimits=[])
getCssUploadMaxSizeInMb()
_validateFileSize($fileSize, $maxFileSize)
getFileContent($filePath)