/** * Upload an image to the public storage * @param File $file * @return string */ public function upload($file, $dir = null, $createDimensions = false) { if ($file) { // Generate random dir if (!$dir) { $dir = str_random(8); } // Get file info and try to move $destination = Config::get('redminportal::image.upload_path') . $dir; $filename = $file->getClientOriginalName(); $path = RHelper::joinPaths(Config::get('redminportal::image.upload_dir'), $dir, $filename); $uploaded = $file->move($destination, $filename); if ($uploaded) { if ($createDimensions) { $this->createDimensions($path); } return $path; } } }