Как загрузить динамически сгенерированный PDF-файл в AWS с помощью Laravel? - PullRequest
0 голосов
/ 12 октября 2019

Я динамически генерирую PDF с помощью DOMPDF в Laravel, и мне необходимо сохранить документ в облачной службе Amazon.

Я не могу сохранить документ в облаке. Но я могу сохранить только локально.

 $pdf = PDF::loadView('contract.contract-pdf', $ data);
 $pdf->save('contract.pdf');
 $s3 =\Storage::disk('s3');
 $s3->put('pdf/contract', new File('contract.pdf'), 'public');

Как отправить его в облако?

Ответы [ 2 ]

0 голосов
/ 12 октября 2019

вы можете сделать это

поместить вывод PDF (содержимое) в хранилище

$pdf = PDF::loadView('contract.contract-pdf', $data);
 \Storage::disk('s3')->put('pdf/contract.pdf', $pdf->output(), 'public');
0 голосов
/ 12 октября 2019

После того, как вы сохранили файл на своем сервере, вам нужно будет вызвать putObject API для экземпляра Aws\S3\S3Client $s3

$result = $s3->putObject([
'Bucket' => '-- bucket name --',
'Key'    => $key,
'Body'   => 'this is the body!',
'SourceFile' => '/path/to/the/file.png'
]);

Для получения дополнительной информации: https://medium.com/@kentaguilar/simplest-way-to-upload-a-file-to-aws-s3-via-php-e83a9f54ba77

...