如何通过 POST 请求将$request->file(...)
传递给Guzzle
?或者甚至可能吗?我应该先上传它吗?
这是我的尝试:
$client = new Client([ 'base_uri' => 'http://api.domain.com']);
$response = $client->post(
'/api/dosomething',
[
'multipart' => [
[
'Content-type' => 'multipart/form-data',
'name' => 'photo_1',
'contents' => $request->file('photo_1')
]
]
]
);
这是行不通的。响应正文只是空白。
我找到了下面的解决方案(我们需要使用代码$file->getPathName()
指定临时文件夹中临时文件的路径(:
$client = new Client([ 'base_uri' => 'http://api.domain.com']);
$file = $request->file('photo_1')
$response = $client->post(
'/api/dosomething',
[
'multipart' => [
[
'Content-type' => 'multipart/form-data',
'name' => 'photo_1',
'contents' => fopen($file->getPathName(), 'r')
]
]
]
);