src/Qcloud/Cos/UploadBodyListener.php
public function onCommandBeforePrepare(Event $event) {
        /** @var Command $command */
        $command = $event['command'];
        if (in_array($command->getName(), $this->commands)) {
            // Get the interesting parameters
            $source = $command->get($this->sourceParameter);
            $body = $command->get($this->bodyParameter);

            // If a file path is passed in then get the file handle
            if (is_string($source) && file_exists($source)) {
                $body = fopen($source, 'rb');
            }

            // Prepare the body parameter and remove the source file parameter
            if (null !== $body) {
                $command->remove($this->sourceParameter);
                $command->set($this->bodyParameter, EntityBody::factory($body));
            } else {
                throw new InvalidArgumentException(
                        "You must specify a non-null value for the {$this->bodyParameter} or {$this->sourceParameter} parameters.");
            }
        }
    }
public function onCommandBeforePrepare(Event $event) {
        /** @var Command $command */
        $command = $event['command'];
        if (in_array($command->getName(), $this->commands)) {
            // Get the interesting parameters
            $source = $command->get($this->sourceParameter);
            $body = $command->get($this->bodyParameter);

            // If a file path is passed in then get the file handle
            if (is_string($source) && file_exists($source)) {
                $body = fopen($source, 'rb');
            }

            // Prepare the body parameter and remove the source file parameter
            if (null !== $body) {
                $command->remove($this->sourceParameter);
                $command->set($this->bodyParameter, EntityBody::factory($body));
            } else {
                throw new InvalidArgumentException(
                        "You must specify a non-null value for the {$this->bodyParameter} or {$this->sourceParameter} parameters.");
            }
        }
    }
public function onCommandBeforePrepare ( Event $ event ) { /** @var Command $command */ $ command = $ event [ 'command' ] ; if ( in_array ( $ command -> getName ( ) , $ this -> commands ) ) { // Get the interesting parameters $ source = $ command -> get ( $ this -> sourceParameter ) ; $ body = $ command -> get ( $ this -> bodyParameter ) ; // If a file path is passed in then get the file handle if ( is_string ( $ source ) && file_exists ( $ source ) ) { $ body = fopen ( $ source , 'rb' ) ; } // Prepare the body parameter and remove the source file parameter if ( null !== $ body ) { $ command -> remove ( $ this -> sourceParameter ) ; $ command -> set ( $ this -> bodyParameter , EntityBody :: factory ( $ body ) ) ; } else { throw new InvalidArgumentException ( "You must specify a non-null value for the {$this->bodyParameter} or {$this->sourceParameter} parameters." ) ; } } }
Converts filenames and file handles into EntityBody objects before the command is validated

@param Event $event Event emitted
@throws InvalidArgumentException
Converts filenames and file handles into EntityBody objects before the command is validated