Я не хочу хранить файл локально (я читаю его из 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);
Код: Выделить всё
$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 ... ony-client
Мобильная версия