src/Support/Http.php
public function upload($url, array $files = [], array $params = [], array $queries = [])
    {
        $multipart = [];

        foreach ($files as $name => $file) {
            $paths = is_array($file) ? $file : [$file];

            foreach ($paths as $path) {
                $multipart[] = [
                    'name' => $name,
                    'contents' => FileConverter::getContent($path)
                ];
            }
        }

        foreach ($params as $name => $contents) {
            $multipart[] = compact('name', 'contents');
        }

        return $this->request('POST', $url, ['multipart' => $multipart, 'query' => $queries]);
    }
public function upload($url, array $files = [], array $params = [], array $queries = [])
    {
        $multipart = [];

        foreach ($files as $name => $file) {
            $paths = is_array($file) ? $file : [$file];

            foreach ($paths as $path) {
                $multipart[] = [
                    'name' => $name,
                    'contents' => FileConverter::getContent($path)
                ];
            }
        }

        foreach ($params as $name => $contents) {
            $multipart[] = compact('name', 'contents');
        }

        return $this->request('POST', $url, ['multipart' => $multipart, 'query' => $queries]);
    }
Update

@param  string $url
@param  array  $params

@return \Psr\Http\Message\ResponseInterface