使用Guzzle上传后,标题会写入文件

时间:2017-04-12 12:40:12

标签: laravel file-upload http-headers guzzle

我正在尝试使用Laravel和Guzzle将csv文件上传到云存储。该文件确实上传成功,但问题是由于某种原因,在上传后标题会与原始内容一起写入文件。当我通过Postman上传文件时也会发生这种情况。如何防止这种情况以及发送此类请求的正确方法是什么?这是片段和上传的文件内容:

$res = $client->request('POST', $uri, [
                'headers'   => [
                                'Authorization'         => 'Bearer '. $egnyteToken,
                                'Content-Type'          => 'text/csv'
                            ],
                'multipart' => [
                            [
                                'name'     => $file->getClientOriginalName(),
                                'contents' => File::get($file),
                                'filename' => $file->getClientOriginalName(),
                            ]
                ]
            ]);

enter image description here

1 个答案:

答案 0 :(得分:1)

似乎服务器不需要多部分正文,因此您可以看到您在上传文件中发送的所有内容。

只需使用body而不是multipart

$res = $client->request('POST', $uri, [
    'headers' => [
        // ...
    ],
    'body' => File::get($file),
]);