Guzzle不从表单MultiPart发送标题

时间:2017-01-21 23:54:52

标签: php laravel guzzle

我正在使用"guzzlehttp/guzzle": "~6.0",并尝试将文件发布到API端点。使用RequestBin时文件发布正常但API未获得所需的标头。 Header也不会发送到Request bin。根据文档,我需要做一组关联数组。 http://docs.guzzlephp.org/en/latest/quickstart.html#post-form-requests

但是,这不起作用。这是Guzzle的要求:

$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']
                ],
            ]
        ]);

我发错的是它没有发送标题?

非常感谢,

约什

1 个答案:

答案 0 :(得分:1)

标题是$选项,这意味着它必须与multipart处于同一级别。         

<?php
      $response = $client->request('POST', '/process', [
        'multipart' => [
            [
                'name' => 'file',
                'contents' => 'test',
                'bucketName' => 'test',
            ],
        ],
        'headers' => ['X-API-Key' => 'abc345'] // <------- HERE
    ]);