getFileType($base64); $extension = $this->getExtension($base64, $type); $uniqueName = uniqid().time(); $imagePath = $path.'/'.$uniqueName.'.'.$extension; $encodedExtension = $extension; if($extension === Constants::EXCEL_FILE_EXTENSION){ $encodedExtension = Constants::EXCEL_FILE_ENCODED_EXTENSION; } $data = base64_decode(str_replace(' ', '+', str_replace('data:'.$type.'/'.$encodedExtension.';base64,', '', $base64))); Storage::disk('public')->put($imagePath, $data); return $uniqueName.'.'.$extension; } return null; } private function getFileType(string $base64){ return explode('/', explode(':', substr($base64, 0, strpos($base64, ';')))[1])[0]; } private function getExtension(string $base64, string $type) { $extension = explode('/', explode(':', substr($base64, 0, strpos($base64, ';')))[1])[1]; if($extension === Constants::EXCEL_FILE_ENCODED_EXTENSION){ return Constants::EXCEL_FILE_EXTENSION; } return $extension; } }