提问人:Bingo 提问时间:11/2/2023 更新时间:11/5/2023 访问量:42
使用表单数据 http 客户端 symfony 请求
Request using form data http client symfony
问:
我的班级
private function request(string $url, string $method, array $options = [],string $token): ResponseInterface
{
$endpoint = $_ENV['FILE_ENDPOINT'];
$formData = new FormDataPart($options);
$header = $formData->getPreparedHeaders();
$header->addTextHeader('Authorization', "Bearer $token");
return $this->httpClient->request(
$method,
$endpoint . $url,
[
'headers' => $header->toArray(),
'body' => $formData->bodyToIterable(),
]
);
} `
$options
The error I get
告诉我我做错了什么,以及如何解决这个问题或其他解决方案
答:
0赞
Skuti
11/5/2023
#1
这里有一个关于它如何工作的示例。使用以下方法调整您的代码:
use Symfony\Component\Mime\Part\TextPart;
use Symfony\Component\Mime\Multipart\MultipartStream;
use Symfony\Component\Mime\Multipart\FormDataPart;
private function request(string $url, string $method, array $options = [], string $token): ResponseInterface
{
$endpoint = $_ENV['FILE_ENDPOINT'];
$multipartStream = new MultipartStream();
foreach ($options as $name => $value) {
$multipartStream->addPart(new TextPart($value, 'form-data', ['name' => $name]));
}
$fileContents = 'Contenu du fichier'; // Remplacez cela par le contenu réel du fichier
$formData = new FormDataPart($fileContents);
$formData->headers->set('Content-Disposition', 'form-data; name="file"; filename="filename.txt"');
$multipartStream->addPart($formData);
$headers = [
'Authorization' => "Bearer $token",
];
return $this->httpClient->request(
$method,
$endpoint . $url,
[
'headers' => $headers,
'body' => $multipartStream->toIterable(),
]
);
}
评论
0赞
Bingo
11/7/2023
我的symfony版本是5.4,我没有Symfony\Component\Mime\Multipart\MultipartStream组件
上一个:如何确定和验证视频的分辨率?
评论