getRealpath()); $this->autoRotateImage($image); $image->writeImage($tempFilePath); return $tempFilePath; } /** * @param $file * @param bool $isBase64Image * @param bool $orientation * @param null $uploadPath * @param null $fileName * @return string */ protected function uploadFile($file, $isBase64Image = Constant::STATUS_TRUE, $orientation = Constant::STATUS_TRUE, $uploadPath = Constant::NULL, $fileName = Constant::NULL): string { try { //check dir exist or not , if dir not exist then make new directory. //$this->dirExists($uploadPath); if ($fileName === Constant::NULL) { $fileName = $this->createFileName($isBase64Image, $file); } if ($orientation) { $tempFile = $this->fixImageOrientation($file, $fileName); $image = \Image::make($tempFile); } else { $image = \Image::make($file); } //Save File on Bucket - It can be storage folder or s3 bucket or any mentioned source. saveFileOnBucket($uploadPath, $uploadPath . $fileName, $image->stream()); if ($orientation && !isset($tempFile) && !empty($tempFile)) { // Remove temp file which is created for image rotation unlink($tempFile); } } catch (\Exception $ex) { Log::error($ex); } return $fileName; } /** * @param $file * @param bool $isBase64Image * @param bool $orientation * @param null $uploadPath * @param null $fileName * @return string */ protected function uploadDocument($file, $isBase64Image = Constant::STATUS_TRUE, $orientation = Constant::STATUS_TRUE, $uploadPath = Constant::NULL, $fileName = Constant::NULL): string { try { //check dir exist or not , if dir not exist then make new directory. //$this->dirExists($uploadPath); if ($fileName === Constant::NULL) { $fileName = $this->createFileName($isBase64Image, $file); } $fileExtension = explode('.', $fileName)[1]; if ($fileExtension === 'pdf') { //Save File on Bucket - It can be storage folder or s3 bucket or any mentioned source. saveFileOnBucket($uploadPath, $uploadPath . $fileName, file_get_contents($file)); } else { if ($orientation) { $tempFile = $this->fixImageOrientation($file, $fileName); $image = \Image::make($tempFile); } else { $image = \Image::make($file); } //Save File on Bucket - It can be storage folder or s3 bucket or any mentioned source. saveFileOnBucket($uploadPath, $uploadPath . $fileName, $image->stream()); } if ($orientation && !isset($tempFile) && !empty($tempFile)) { // Remove temp file which is created for image rotation unlink($tempFile); } } catch (\Exception $ex) { Log::error($ex); } return $fileName; } /** * @param $isBase64Image * @param $file * @return string */ public function createFileName($isBase64Image, $file): string { $fileName = ''; try { $fileName = rand(1, 1000) . time(); if ($isBase64Image) { // get file extension $img = explode(',', $file); $ini = substr($img[0], 11); $imageExtension = explode(';', $ini)[0] ?? 'png'; $fileName .= '.' . $imageExtension; } else { // set filename with extension from the file object $fileName .= '.' . $file->getClientOriginalExtension(); } } catch (\Exception $ex) { Log::error($ex); } return $fileName; } }