protected function upload($path, $body, Config $config)
    {
        $key = $this->applyPathPrefix($path);
        $options = $this->getOptionsFromConfig($config);
        $acl = array_key_exists('ACL', $options) ? $options['ACL'] : 'private';

        if ( ! isset($options['ContentType'])) {
            $options['ContentType'] = Util::guessMimeType($path, $body);
        }

        if ( ! isset($options['ContentLength'])) {
            $options['ContentLength'] = is_resource($body) ? Util::getStreamSize($body) : Util::contentSize($body);
        }

        if ($options['ContentLength'] === null) {
            unset($options['ContentLength']);
        }

        try {
            $this->s3Client->upload($this->bucket, $key, $body, $acl, ['params' => $options]);
        } catch (S3MultipartUploadException $multipartUploadException) {
            return false;
        }

        return $this->normalizeResponse($options, $path);
    }
protected function upload($path, $body, Config $config)
    {
        $key = $this->applyPathPrefix($path);
        $options = $this->getOptionsFromConfig($config);
        $acl = array_key_exists('ACL', $options) ? $options['ACL'] : 'private';

        if ( ! isset($options['ContentType'])) {
            $options['ContentType'] = Util::guessMimeType($path, $body);
        }

        if ( ! isset($options['ContentLength'])) {
            $options['ContentLength'] = is_resource($body) ? Util::getStreamSize($body) : Util::contentSize($body);
        }

        if ($options['ContentLength'] === null) {
            unset($options['ContentLength']);
        }

        try {
            $this->s3Client->upload($this->bucket, $key, $body, $acl, ['params' => $options]);
        } catch (S3MultipartUploadException $multipartUploadException) {
            return false;
        }

        return $this->normalizeResponse($options, $path);
    }
protected function upload ( $ path , $ body , Config $ config ) { $ key = $ this -> applyPathPrefix ( $ path ) ; $ options = $ this -> getOptionsFromConfig ( $ config ) ; $ acl = array_key_exists ( 'ACL' , $ options ) ? $ options [ 'ACL' ] : 'private' ; if ( ! isset ( $ options [ 'ContentType' ] ) ) { $ options [ 'ContentType' ] = Util :: guessMimeType ( $ path , $ body ) ; } if ( ! isset ( $ options [ 'ContentLength' ] ) ) { $ options [ 'ContentLength' ] = is_resource ( $ body ) ? Util :: getStreamSize ( $ body ) : Util :: contentSize ( $ body ) ; } if ( $ options [ 'ContentLength' ] === null ) { unset ( $ options [ 'ContentLength' ] ) ; } try { $ this -> s3Client -> upload ( $ this -> bucket , $ key , $ body , $ acl , [ 'params' => $ options ] ) ; } catch ( S3MultipartUploadException $ multipartUploadException ) { return false ; } return $ this -> normalizeResponse ( $ options , $ path ) ; }
Upload an object.

@param        $path
@param        $body
@param Config $config

@return array|bool
Upload an object .