用Guzzle上传文件后会将文件头写入文件
问题描述:
我试图使用Laravel和Guzzle将csv文件上传到云存储。该文件确实已成功上传,但问题在于,出于某种原因,在上传后,标题将与原始内容一起写入文件。当我通过Postman上传文件时也会发生这种情况。如何防止这种情况发生,以及发送此类请求的正确方式是什么?这里的片段,并上传的文件内容:用Guzzle上传文件后会将文件头写入文件
$res = $client->request('POST', $uri, [
'headers' => [
'Authorization' => 'Bearer '. $egnyteToken,
'Content-Type' => 'text/csv'
],
'multipart' => [
[
'name' => $file->getClientOriginalName(),
'contents' => File::get($file),
'filename' => $file->getClientOriginalName(),
]
]
]);
答
看来,服务器不需要多体,因为这样,所以你看到,你在上传文件发送的所有内容。
只需使用body
而不是multipart
。
$res = $client->request('POST', $uri, [
'headers' => [
// ...
],
'body' => File::get($file),
]);
您的建议似乎工作,谢谢。 – user3102290