PHP-带二进制体数据的POST请求-可用于CURL,但不能用于Laravel

PHP-带二进制体数据的POST请求-可用于CURL,但不能用于Laravel,php,laravel,guzzle,php-curl,Php,Laravel,Guzzle,Php Curl,我有下面的第三方API,我张贴图像 它们要求标题的内容类型必须设置为:内容类型:image/jpeg,并且正文包含实际图像的二进制数据 下面我使用PHP中的cURL发出此请求-这很好用: $url=“examle.org/images”; $pathToFile=“myfile.jpeg”; $auth=“授权:持票人”; $auth=“授权:持票人”$此->令牌; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$URL); curl_setopt($

我有下面的第三方API,我张贴图像

它们要求标题的内容类型必须设置为:
内容类型:image/jpeg
,并且正文包含实际图像的二进制数据

下面我使用PHP中的cURL发出此请求-这很好用

$url=“examle.org/images”;
$pathToFile=“myfile.jpeg”;
$auth=“授权:持票人”;
$auth=“授权:持票人”$此->令牌;
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
卷曲设置($ch,卷曲设置桩,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,file_get_contents($pathToFile));
curl_setopt($ch,CURLOPT_HTTPHEADER,['Content-Type:image/jpeg',$auth]);
$result=curl\u exec($ch);
上面使用cURL的帖子效果很好:我返回了一个200响应成功错误。我想,为了让它更“像Laravel”,我会使用Laravel的HTTP facade(Guzzle):

$post=Http::withHeaders(['Content-Type'=>'image/jpeg'])
->withToken(“”)
->附加('file',file\u get\u contents($pathToFile),'myfile.jpeg')
->张贴($url);
上述方法无法按预期工作。第三方API服务返回400响应,并告诉我它无法读取图像文件


我做错了什么?

我会尝试使用body

$post = Http::withBody(file_get_contents($pathToFile), 'image/jpeg')
      ->withToken("<Token>")
      ->post($url);
$post=Http::withBody(文件获取内容($pathToFile),'image/jpeg')
->withToken(“”)
->张贴($url);