protected function getFinalTarget($uploadData)
    {
        // We cannot upload without a bucket
        if (null === $this->options['bucket']) {
            throw new MissingBucketException('No bucket was set when trying to upload a file to S3');
        }

        // Get the tmp file name and convert it to an S3 key
        $key = trim(str_replace('\\', '/', parent::getFinalTarget($uploadData)), '/');
        if (strpos($key, './') === 0) {
            $key = substr($key, 2);
        }

        return "s3://{$this->options['bucket']}/{$key}";
    }
protected function getFinalTarget($uploadData)
    {
        // We cannot upload without a bucket
        if (null === $this->options['bucket']) {
            throw new MissingBucketException('No bucket was set when trying to upload a file to S3');
        }

        // Get the tmp file name and convert it to an S3 key
        $key = trim(str_replace('\\', '/', parent::getFinalTarget($uploadData)), '/');
        if (strpos($key, './') === 0) {
            $key = substr($key, 2);
        }

        return "s3://{$this->options['bucket']}/{$key}";
    }
protected function getFinalTarget ( $ uploadData ) { // We cannot upload without a bucket if ( null === $ this -> options [ 'bucket' ] ) { throw new MissingBucketException ( 'No bucket was set when trying to upload a file to S3' ) ; } // Get the tmp file name and convert it to an S3 key $ key = trim ( str_replace ( '\\' , '/' , parent :: getFinalTarget ( $ uploadData ) ) , '/' ) ; if ( strpos ( $ key , './' ) === 0 ) { $ key = substr ( $ key , 2 ) ; } return "s3://{$this->options['bucket']}/{$key}" ; }
This method is overloaded so that the final target points to a URI using S3 protocol

{@inheritdoc}
This method is overloaded so that the final target points to a URI using S3 protocol