我需要从Laravel中的存储中获取图像,并将其从Controller发送到外部API REST。
我正在使用guzzlehttp multipart,但API未收到文件,返回文件= null
这是我几天前所做的(从Request中获取文件:
对于单个文件:
public function storeProductImage($id, Request $request){
$image = $request->file('image');
$body = ["headers" => [
"Accept" => "multipart/form-data"],
"multipart" => [
"name" => "image",
"contents" => file_get_contents($image),
"filename" => $image->getClientOriginalName()
]
];
return \GuzzleHttp\Client::request('POST', 'product/'.$id.'/images', $body);
}
对于多个文件:
public function storeProductImage($id, Request $request){
$body = ["headers" => ["Accept" => "multipart/form-data"], "multipart" => []];
$images = $request->file('image');
if (is_array($images)) {
foreach ($images as $image) {
array_push($body["multipart"], ["name" => "image[]", "contents" => file_get_contents($image), "filename" => $image->getClientOriginalName()]);
}
}
return \GuzzleHttp\Client::request('POST', 'product/'.$id.'/images', $body);
}