使用表单数据请求http客户端symfony

wdebmtf2  于 2023-11-22  发布在  其他
关注(0)|答案(1)|浏览(144)

我的课

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(),
            ]
        );
    }     `

字符串
第一个月


的数据
The error I get



告诉我我做错了什么,以及如何解决这个问题或另一种解决方案

w8f9ii69

w8f9ii691#

这里有一个关于它如何工作的例子。使用这个来调整你的代码:

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(),
        ]
    );
}

字符串

相关问题