我正在使用Active-Storage,并且能够使用gem 'aws-sdk-s3'成功地将文件上传到AWS桶上,但我不知道如何将文件上传到存储桶中的特定文件夹中?
发布于 2020-09-16 15:25:58
初始化对象时,按照https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#initialize-instance_method指定对象键
构造器详细信息#初始化(bucket_name,key,options = {})⇒对象#初始化(options= {})⇒对象
返回对象的新实例。
超载:
#initialize(bucket_name, key, options = {}) ⇒ Object
Parameters:
bucket_name (String)
key (String)
Options Hash (options):
:client (Client)
#initialize(options = {}) ⇒ Object
Options Hash (options):
:bucket_name (required, String)
:key (required, String)
:client (Client)S3没有真正的文件夹,它只是有密钥。然后,GUI使用键中的分隔符来模拟文件夹。因此,如果您希望对象位于特定的“文件夹”中,那么确保该对象的键包含该文件夹路径。来自https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html
S3有一个扁平的结构,而不是像您在文件系统中看到的那样的层次结构。但是,为了组织简单起见,Amazon控制台支持将文件夹概念作为对象分组的一种方式。亚马逊S3通过对对象使用共享名称前缀(也就是说,对象的名称以一个公共字符串开头)来实现这一点。对象名称也称为键名。
例如,您可以在控制台上创建一个名为照片的文件夹,并在其中存储一个名为myphoto.jpg的对象。然后,使用密钥名photos/myphoto.jpg存储对象。
https://stackoverflow.com/questions/63920371
复制相似问题