如何根据上传的文件名找到S3对象密钥

时间:2019-04-08 18:31:02

标签: php laravel-5 amazon-s3

我有一个s3存储桶,用于通过PHP / Laravel应用程序进行文件存储。

在某些情况下,我需要手动将一堆pdf文件添加到给定文件夹/前缀中的存储桶中。然后,我需要将CSV导入我的数据库。导入的一部分是pdf文件名。

对于每一次以csv导入为例的迭代,我都想使用已知的文件名,然后将导入的项目链接到S3中的pdf。

我一直在搞砸,并安装了AWS S3 SDK,但是我没有看到一种基于文件名从S3取回对象的方法。

我正在跑步: PHP 7.2 通过composer aws sdk v3.9

我目前正在测试的是:

   $results = $s3->getPaginator('ListObjects', [
    'Bucket' => env('S3BUCKET'),
    'Prefix' => 'folder-name/'
]);


foreach ($results as $result) {
    foreach ($result['Contents'] as $object) {
        $doc = $s3->getObject([
            'Bucket' => env('S3BUCKET'),
            'Key'    => $object['Key']
        ]);
        dd($doc);

这里的问题是没有列出文件名,所以我无法进行任何类型的比较。

TIA

0 个答案:

没有答案