Amazon s3:如何在每个新用户名之后命名一个新文件夹?
Posted
技术标签:
【中文标题】Amazon s3:如何在每个新用户名之后命名一个新文件夹?【英文标题】:Amazon s3: How can I name a new folder after each new username? 【发布时间】:2018-10-10 17:29:42 【问题描述】:我正在创建一个简单的 Instagram 类型的社交媒体应用程序,专门用于使用 javascript 和 node.js 共享图像。我将新用户信息(名称、用户名、密码)存储在 mysql 数据库中,并将图像保存在 S3 存储桶中。
我想为每个新用户创建一个新文件夹,并以用户名命名文件夹。有没有人对我如何做到这一点有任何提示?
【问题讨论】:
提示如何操作?使用 Amazon Javascript SDK 创建存储桶并将图像上传到其中。这是他们网站上的一个例子:docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/…。如果您尝试过一些代码,我们可能会帮助您解决更具体的问题。 另外,根据您的用户名的创建方式,请注意characters to use for the object key 的建议(向下滚动到“可能需要特殊处理的字符”和“要避免的字符” )。 【参考方案1】:文件夹实际上并不存在于 Amazon S3 中。相反,每个对象的名称(“键”)包括对象的完整路径。
例如,john/
文件夹中的image.png
实际上只是一个名为john/image.png
的对象。
因此,只要将对象存储在该路径中,就会自动创建文件夹。当路径中没有对象时(删除对象后),文件夹也会自动消失。
因此,您只需将图像存储在适当的路径中,“文件夹”就会自动出现。
提示:最好使用唯一 ID 而不是用户名来命名“文件夹”。这是因为用户将来可能希望更改用户名,如果对象以用户名命名,则这是不可能的。使用 唯一 id 可以避免这个问题。 (同样,您应该在数据库表中使用唯一 ID,而不是在用户名上进行索引和连接。)
【讨论】:
谢谢!您的回答帮助解决了我使用 s3 的大部分问题以上是关于Amazon s3:如何在每个新用户名之后命名一个新文件夹?的主要内容,如果未能解决你的问题,请参考以下文章