/** * Upload js file * * @param string $file - Key in the $_FILES array * @return array * @throws \Magento\Framework\Model\Exception */ public function uploadJsFile($file) { /** @var $fileUploader \Magento\Core\Model\File\Uploader */ $fileUploader = $this->_uploaderFactory->create(array('fileId' => $file)); $fileUploader->setAllowedExtensions(array('js')); $fileUploader->setAllowRenameFiles(true); $fileUploader->setAllowCreateFolders(true); $isValidFileSize = $this->_validateFileSize($fileUploader->getFileSize(), $this->getJsUploadMaxSize()); if (!$isValidFileSize) { throw new \Magento\Framework\Model\Exception(__('The JS file must be less than %1M.', $this->getJsUploadMaxSizeInMb())); } $file = $fileUploader->validateFile(); return array('filename' => $file['name'], 'content' => $this->getFileContent($file['tmp_name'])); }