php - 如何根据上传的文件名找到 S3 对象键
问题描述
我有一个 s3 存储桶,用于通过我的 PHP/Laravel 应用程序进行文件存储。
在某些情况下,我需要手动将一堆 pdf 添加到给定文件夹/前缀中的存储桶中。然后我需要在我的数据库中运行 csv 导入。部分导入是 pdf 文件名。
对于每次迭代认为 csv 导入,我想使用已知的文件名并将导入的项目链接到 S3 中的 pdf。
我一直在搞砸这个并安装了 AWS S3 SDK,但我没有看到基于文件名从 S3 取回对象的方法。
我正在运行:php 7.2 aws sdk v3.9 via composer
我目前正在测试的是:
$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
解决方案
推荐阅读
- c++ - 接收“架构 x86_64 的未定义符号”
- json - 为什么这个 Arduino sscanf JSON 解析问题?
- php - how do I send a POST request with x-www-form-urlencodded body? in php
- java - 当两个对象具有相同的值时,为什么我的程序不能将它们识别为相等?
- html - 显示图像时使用 laravel 出错的地方
- java - USB 错误 9:无法提交控制消息:管道错误
- android - 可以使用哪种设计模式来代替 Manager 类?
- css - Normalize.css/Reset CSS 是否包含在 Angular/React/Vue.js 中?
- c# - 自动生成的 EF Core 上下文和实体(.efm、.edps 和 .view 文件)
- sql - 如何选择在 SQL 中某个操作之后立即发生的值?