如何使用 Laravel 将动态生成的 PDF 上传到 AWS?

How to upload dynamically generated PDF to AWS with Laravel?

我在 Laravel 中使用 DOMPDF 动态生成 PDF,我必须将文档保存到亚马逊的云服务。

我无法将文档保存到云端。但是我只能保存在本地。

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

如何发送到云端?

将文件保存到服务器后,您需要在 Aws\S3\S3Client $s3

的实例上调用 putObject API
$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

你可以这样做

存储 pdf 输出(内容)

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