Php Guzzle不从表单多部分发送头

Php Guzzle不从表单多部分发送头,php,laravel,guzzle,Php,Laravel,Guzzle,我正在使用“guzzlehttp/guzzle”:“~6.0”,,并试图将文件发布到API端点。当使用RequestBin时,该文件可以正常发布,但API没有获得它所需的头。标头也不会发送到请求bin。根据文档,我需要做一个关联数组 然而,这是行不通的。这是一个狂饮的请求: $client = new GuzzleHttp\Client(['base_uri' => '127.0.0.1:3000']); $response = $client->request('P

我正在使用
“guzzlehttp/guzzle”:“~6.0”,
,并试图将文件发布到API端点。当使用RequestBin时,该文件可以正常发布,但API没有获得它所需的头。标头也不会发送到请求bin。根据文档,我需要做一个关联数组

然而,这是行不通的。这是一个狂饮的请求:

$client = new GuzzleHttp\Client(['base_uri' => '127.0.0.1:3000']);
        $response = $client->request('POST', '/process', [
            'multipart' => [
                [
                    'name'     => 'file',
                    'contents' => $file,
                    'bucketName' => 'test',
                    'headers'  => ['X-API-Key' => 'abc345']
                ],
            ]
        ]);
我做错了什么,它没有发送标题

多谢各位


Josh

Headers是一个$option,这意味着它必须与multipart处于同一级别。


文档特别说明将其放在多部分区域中。另外,如果我按照您的建议执行操作,我会遇到一个新错误,“内容键是必需的”,我们讨论的标题是什么?如果在任何正文之前都是关于HTTP头的,那么我的答案是正确的。我和TCPDUMPLook核对了一下我在说什么:1-我的版本,2-你的版本。我把括号搞错了。谢谢。文档让我纠结了一段时间,看起来文档有点问题,上面的方法对我有效。
<?php
      $response = $client->request('POST', '/process', [
        'multipart' => [
            [
                'name' => 'file',
                'contents' => 'test',
                'bucketName' => 'test',
            ],
        ],
        'headers' => ['X-API-Key' => 'abc345'] // <------- HERE
    ]);