_storeManager = $storeManager; $this->filesystem = $filesystem; $this->mime = $mime; } /** * Get WriteInterface instance * * @return WriteInterface */ private function getMediaDirectory() { if ($this->mediaDirectory === null) { $this->mediaDirectory = $this->filesystem->getDirectoryWrite(DirectoryList::MEDIA); } return $this->mediaDirectory; } /** * Retrieve MIME type of requested file * * @param string $fileName * @return string */ public function getMimeType($fileName) { $filePath = self::ENTITY_MEDIA_PATH . '/' . ltrim($fileName, '/'); $absoluteFilePath = $this->getMediaDirectory()->getAbsolutePath($filePath); $result = $this->mime->getMimeType($absoluteFilePath); return $result; } /** * Get file statistics data * * @param string $fileName * @return array */ public function getStat($fileName) { $filePath = self::ENTITY_MEDIA_PATH . '/' . ltrim($fileName, '/'); $result = $this->getMediaDirectory()->stat($filePath); return $result; } /** * Check if the file exists * * @param string $fileName * @return bool */ public function isExist($fileName) { $filePath = self::ENTITY_MEDIA_PATH . '/' . ltrim($fileName, '/'); $result = $this->getMediaDirectory()->isExist($filePath); return $result; } /** * Get file url * * @param string $fileName * @return string */ public function getFileUrl($fileName) { $url = $this->getMediaUrl() . $fileName; return $url; } public function getMediaUrl() { return $this->_storeManager->getStore()->getBaseUrl( \Magento\Framework\UrlInterface::URL_TYPE_MEDIA ); } }