Я пытаюсь загрузить файл в API, который требует загрузки многотатарной формы. < /p>
Я не хочу хранить файл локально (я читаю его из S3 ведро с использованием Flysystem), но я могу работать (всегда получайте ошибку 422). < /p>
Когда я сначала храню файл локально, он работает: < /p>
// $filecontent is data from Flysystem
$fileContent = $this->documentStorage->read('remote filename.pdf');
file_put_contents(__DIR__.'/test.pdf', $fileContent);
$fileHandle = fopen(__DIR__.'/test.pdf', 'rb');
$params = [
'body' => [
'bestand' => $fileHandle
],
];
$response = $this->createClient()->request('POST', $url, $params);
Я попытался пропустить локальное сохранение с помощью потока php: // memory и php: // temp , но это не сработает:
$stream = fopen('php://temp', 'rb+');
fwrite($stream, $fileContent);
rewind($stream);
$params = [
'body' => [
'bestand' => $stream
],
];
$response = $this->createClient()->request('POST', $url, $params);
< /code>
Пробовал вручную изготовление многопоката, также не работает: < /p>
$dp = new DataPart($fileContent);
$formData = new FormDataPart(['bestand' => $dp]);
$preparedHeaders = $formData->getPreparedHeaders();
$params = [
'body' => $formData->bodyToString(),
'headers' => [
trim($preparedHeaders->toString())
],
];
$response = $this->createClient()->request('POST', $url, $params);
Подробнее здесь: https://stackoverflow.com/questions/794 ... symfony-ht
Как загрузить файл из строки, не сохраняя его на диск, с клиентом Symfony HTTP? ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как загрузить файл из строки, не сохраняя его на диск, с клиентом Symfony HTTP?
Anonymous » » в форуме Php - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Какой стек HTTP для использования для клиента, требующего HTTP/1.1, HTTP/2 и HTTP/3
Anonymous » » в форуме Android - 0 Ответы
- 62 Просмотры
-
Последнее сообщение Anonymous
-