league/flysystem-aws-s3-v3 获取自定义元数据
league/flysystem-aws-s3-v3 get custom metada
我在搞乱 flysystem 库(无论如何,它太棒了!)
我在远程 s3 存储桶上创建了一些文件,定义了一些自定义元数据
$conf = [
'visibility' => 'public',
'Metadata' => [
'Content-type' => 'image/jpeg',
'Generated' => 'true'
]];
$response = $filesystem->write('/test/image.jpg', $image_stream, $conf);
'Generated' => 'true' 是自定义元数据,我可以在 AWS Bucket 的控制台中找到它。
我无法读取 文件系统 资源上“生成”的自定义元数据
$allFiles = $filesystem->listContents('/path/', true)->toArray();
##更新 1
我知道我应该按照文档中的说明使用“getWithMetadata”插件:https://flysystem.thephpleague.com/v1/docs/advanced/provided-plugins/#get-file-info-with-explicit-metadata
看起来很容易,但我的源代码中似乎没有任何 League\Flysystem\Filesystem::addPlugin() 方法。
有人可以帮我吗?
要使用 S3 FlySystem 适配器,您需要初始化 S3 客户端
$client = new Aws\S3\S3Client($options);
您可以在 S3 SDK 中使用
$allFiles = $filesystem->listContents($path)->sortByPath()->toArray();
$file = $allFiles[0];
$headers = $client->headObject(array(
"Bucket" => $bucket,
"Key" => $file->path()
));
print_r($headers->toArray());
获取所有文件元数据的列表!
我在搞乱 flysystem 库(无论如何,它太棒了!) 我在远程 s3 存储桶上创建了一些文件,定义了一些自定义元数据
$conf = [
'visibility' => 'public',
'Metadata' => [
'Content-type' => 'image/jpeg',
'Generated' => 'true'
]];
$response = $filesystem->write('/test/image.jpg', $image_stream, $conf);
'Generated' => 'true' 是自定义元数据,我可以在 AWS Bucket 的控制台中找到它。
我无法读取 文件系统 资源上“生成”的自定义元数据
$allFiles = $filesystem->listContents('/path/', true)->toArray();
##更新 1
我知道我应该按照文档中的说明使用“getWithMetadata”插件:https://flysystem.thephpleague.com/v1/docs/advanced/provided-plugins/#get-file-info-with-explicit-metadata
看起来很容易,但我的源代码中似乎没有任何 League\Flysystem\Filesystem::addPlugin() 方法。
有人可以帮我吗?
要使用 S3 FlySystem 适配器,您需要初始化 S3 客户端
$client = new Aws\S3\S3Client($options);
您可以在 S3 SDK 中使用
$allFiles = $filesystem->listContents($path)->sortByPath()->toArray();
$file = $allFiles[0];
$headers = $client->headObject(array(
"Bucket" => $bucket,
"Key" => $file->path()
));
print_r($headers->toArray());
获取所有文件元数据的列表!