【发布时间】:2020-04-20 04:14:59
【问题描述】:
我能够将文件上传到 AWS S3。
但是,假设我已使用密钥将文件上传到我的存储桶:myfolder\filename.pdf,
它不会创建文件夹myfolder,S3 中新文件的名称(下载时也是如此)是myfolder_filename.pdf(它用下划线替换反斜杠)。
我的问题是:
1. 如何确定下载文件的名称?
2. 我如何告诉 AWS 我希望它创建新文件夹?也许下载的文件名只是filename.pdf。
也许问题是我使用了反斜杠而不是前斜杠? (我使用了 path.join)
谢谢!
【问题讨论】:
-
S3 中没有“文件夹”的概念。来自文档:“在 Amazon S3 中,存储桶和对象是主要资源,对象存储在存储桶中。Amazon S3 具有平面结构,而不是像您在文件系统中看到的层次结构。但是,为了组织简单, Amazon S3 控制台支持文件夹概念作为对对象进行分组的一种方式。Amazon S3 通过为对象使用共享名称前缀来实现这一点(即,对象的名称以通用字符串开头)。对象名称也称为键名。”
-
这很糟糕,因为当我下载文件时,我得到了整个对象路径。如果没有文件夹,我该如何解决这个问题? (顺便说一句,在 S3 面板中,有一个“创建文件夹”按钮实际上创建了一个文件夹。我希望每个用户都有自己的“空间”/“文件夹”。