Как отправить несколько файлов одним ключом в laravel, используя guzzle HttpPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как отправить несколько файлов одним ключом в laravel, используя guzzle Http

Сообщение Anonymous »

Я могу отправить несколько файлов и строковых данных с помощью post man, как показано ниже:
[img]https://i.sstatic.net /NwmLF.png[/img]

но вопрос в том, как отправить аналогичный запрос с помощью laravel http?
что я сделал:

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

public function performMultiPartRequest($requestUrl, $body)
{
$response = Http::withHeaders(['Accept' => 'application/json']);
$data = [];
foreach ($body as $key => $value) {
if (gettype($value) == 'string') // for string data. works well.
array_push($data,[$key, $value]);
else if (gettype($value) == 'array') { // array of files. doesn't work!
foreach ($value as $file) {
$extension = $file->getClientOriginalExtension();
$response->attach($key , fopen($file, 'r'), mt_rand(100,1000).".".$extension);
}
}
else { // one file. works well.
$extension = $value->getClientOriginalExtension();
$response->attach($key, fopen($value, 'r'), 'temp.'.$extension);
}
}
$response = $response->post($this->baseUri.$requestUrl, $body);
return $response;

}
когда я пытаюсь отправить какое-то строковое значение ключа с файлом или файлами с разными ключами, это нормально, но когда я пытаюсь отправить данные с загрузкой нескольких файлов (один ключ), возникает ошибка.
сообщение об ошибке:

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

A 'contents' key is required
с кодом состояния 0

Подробнее здесь: https://stackoverflow.com/questions/654 ... uzzle-http
Ответить

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

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

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

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

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