private function prepareTargetUploadPath($path = null)
    {
        $absoluteTargetPath = implode('/', array_filter([
            rtrim($this->uploadpath, '/'), trim(dirname($path), '/'),
        ]));

        $this->results['path'] = $absoluteTargetPath;
        $this->results['dir'] = $this->getRelativePath($absoluteTargetPath);

        return $this->createDirectoryIfNotExists($absoluteTargetPath);
    }