我想使用 HttpClientInterface 在 HTTP 请求的标头中附加身份验证信息。
(我已经有 45 种其他方法效果很好)但是当我尝试发送具有multipart/form-data 内容类型的文件时会出现问题。
我从下面的原始文档中获取代码以保留一个非常简单的案例,但我无法将我的数据加入生成的数据中。
use Symfony\Component\Mime\Part\DataPart;
use Symfony\Component\Mime\Part\Multipart\FormDataPart;
$formFields = [
'regular_field' => 'some value',
'file_field' => DataPart::fromPath('/path/to/uploaded/file')
];
$formData = new FormDataPart($formFields);
$client->request('POST', 'https://...', [
'headers' => $formData->getPreparedHeaders()->toArray(),
'body' => $formData->bodyToIterable(),
]);
这就是我想要做的
$myHeader = [
'Authorization' => 'Bearer ' . $this->getUser()->getToken()
];
$params = [
'headers' => array_merge($myHeader, $formData->getPreparedHeaders()->toArray()),
'body' => $formData->bodyToIterable(),
];
这是它的翻译方式,因此 API 无法理解我发送的内容并返回400 错误请求
"headers" => [
"Authorization" => "Bearer eecd39xxxxxxxxede8e66433d3aea693"
0 => "Content-Type: multipart/form-data; boundary=ujDYAsPF"
]
原则上这是一个相对常见的情况,所以我想有一个解决方案吗?谢谢你。