Как сделать многочастный запрос/запрос данных с помощью клиента браузера?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как сделать многочастный запрос/запрос данных с помощью клиента браузера?

Сообщение Anonymous »

Код: Выделить всё

$data = [
'name' => 'Merry Christamas',
'description' => 'Merry Christamas',
'starts_at' => '2018-9-15 12:45:56',
'ends_at' => '2050-9-15 12:45:56',
'priority' => -1,
'coupon_based' => false,
'action' => [
'type' => 'order_fixed_discount',
'configuration' => [
'amount' => 100
]
],
'rules' => [
[
'type'=> 'item_total',
'configuration' => [
'amount' => 2500,
'base_amount' => 100,
]
]
]
];

$multipartStream = new MultipartStream($this->flatten($data)); //use GuzzleHttp\Psr7\MultipartStream;
Я использую следующий метод для преобразования ассоциативного массива в соответствии с потребностями MultipartStream.

Код: Выделить всё

protected function flatten(array $array, string $prefix = '', string $suffix = ''): array
{
$result = [];

foreach ($array as $key => $value) {
if (is_array($value)) {
$result = array_merge($result, $this->flatten($value, $prefix . $key . $suffix . '[', ']'));
} else {
if ($value instanceof UploadedFile) {
$result[] = [
'name' => $prefix . $key . $suffix,
'filename' => $value->getClientOriginalName(),
'Mime-Type' => $value->getClientMimeType(),
'contents' => file_get_contents($value->getPathname()),
];
} else {
$result[] = [
'name' => $prefix . $key . $suffix,
'contents' => $value,
];
}
}
}

return $result;
}
затем сделайте запрос с помощью клиента браузера

Код: Выделить всё

$this->client->request(
'POST',
'/api/admin/promotions',
[],
[],
[
'CONTENT_TYPE' => 'multipart/form-data; boundary=--'.$multipartStream->getBoundary() ,
'HTTP_Authorization'=> "blabla"
],
$multipartStream->getContents()
);
но запрос->request->all() пуст, как правильно выполнить запрос multipart/data с помощью клиент Symfony BrowserKit? Я много искал, но мне не удалось найти пример.

Подробнее здесь: https://stackoverflow.com/questions/520 ... kit-client
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»