如何通过PHP GuzzleHttp\Client发布请求文件图像数据二进制
我使用的是api SAFR,我想从AWS S3导入一个人脸图像url 在文档命令curl中如何通过PHP GuzzleHttp\Client发布请求文件图像数据二进制,php,curl,binary,guzzlehttp,Php,Curl,Binary,Guzzlehttp,我使用的是api SAFR,我想从AWS S3导入一个人脸图像url 在文档命令curl中 curl -v -X POST -H "Content-Type:application/octet-stream" -H "X-RPC-DIRECTORY: main" -H "X-RPC-AUTHORIZATION: userid:pwd" -H "XRPC-PERSON-NAME:First Last" -H "
curl -v -X POST -H "Content-Type:application/octet-stream" -H "X-RPC-DIRECTORY: main" -H "X-RPC-AUTHORIZATION: userid:pwd" -H "XRPC-PERSON-NAME:First Last" -H "X-RPC-EXTERNAL-ID: 0000001" "https://covi.real.com/people?update=false" --data-binary @IMG_0000001.jpg
我正试图通过GuzzleHttp\Client将其转换为post请求
我的代码:
但它不正确,并返回一个错误:
400 Bad Request` response:↵{"message":"Content type 'multipart/form-data;boundary=6506e88515760a7c6901a4f3a42ewe2220ed1a2e6a33ae' not supported"
我尝试过cURL-PHP,但也没有成功,我不知道我错在哪里,希望大家帮助,谢谢 傻,我在stackoverflow中找到了答案,发布了这个问题
$headers = [
'X-RPC-DIRECTORY' => 'main',
'X-RPC-AUTHORIZATION' => $this->userid.':'.$this->pwd,
'XRPC-PERSON-NAME' => $this->person_name,
'X-RPC-EXTERNAL-ID' => $this->external_id,
];
$client = new Client(['headers' => $headers]);
try {
$request = $client->post($this->endpoint, [
'query' => ['update' => 'false'],
'body' => file_get_contents($this->image_url),
]);
$response = $request->getBody();
return $response;
} catch (Exception $e) {
return $e;
}
$headers = [
'X-RPC-DIRECTORY' => 'main',
'X-RPC-AUTHORIZATION' => $this->userid.':'.$this->pwd,
'XRPC-PERSON-NAME' => $this->person_name,
'X-RPC-EXTERNAL-ID' => $this->external_id,
];
$client = new Client(['headers' => $headers]);
try {
$request = $client->post($this->endpoint, [
'query' => ['update' => 'false'],
'body' => file_get_contents($this->image_url),
]);
$response = $request->getBody();
return $response;
} catch (Exception $e) {
return $e;
}