为了账号安全,请及时绑定邮箱和手机立即绑定

如何从浏览器在 s3 中创建新的“文件夹”

如何从浏览器在 s3 中创建新的“文件夹”

PHP
慕标琳琳 2021-09-18 13:55:19
基本上我有一个 PHP crud 系统。当我添加新的 php 记录时,我还想让 API 发布到存储桶以创建一个新文件夹,并以某种方式将该新文件夹与该记录相关联。这样,当我搜索该记录时,我可以从该特定文件夹中列出该记录的对象。我如何创建这个文件夹?
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

您不需要创建文件夹。

文件夹实际上并不存在于 Amazon S3 中。相反,Key对象的文件名 ( )包含完整路径,包括对象的文件名

这意味着您可以复制这样的文件,即使文件夹不存在:

aws s3 cp foo.txt s3://my-bucket/one/two/foo.txt

为了使东西“看起来”像一个普通的文件系统,Amazon S3 管理控制台将显示onetwo为文件夹,但它们实际上并不存在。事实上,如果你运行这个命令:

aws s3 rm s3://my-bucket/one/two/foo.txt

这不仅会删除对象,而且“文件夹”也会消失,因为它们从一开始就不存在。

管理控制台还可以“创建”一个文件夹,但它实际上只是创建一个带有文件夹名称(包括完整路径)的零长度对象。这允许“空文件夹”出现在控制台中(即使它不存在)。

因此,如果您的应用程序希望将“文件夹”与记录相关联,它只需要路径与记录相关联。需要实际创建文件夹。然后,以该路径作为前缀创建文件,它们将显示在文件夹中,但实际情况是它们的文件名 ( Key) 包括路径和文件名。

您的应用程序可以调用 S3 并请求给定前缀的对象列表,并且只会返回该“文件夹”(前缀)中的对象。


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 262 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信