把对象放到aws S3 ruby​​中的特定文件夹中

Dee*_*dhy 2 ruby ruby-on-rails amazon-s3 amazon-web-services ruby-on-rails-4

我试图使用Aws sdk rails gem上传文件.

一切都很成功,除了我找不到如何使用ruby sdk将文件上传到特定文件夹的方法.

s3 = Aws::S3::Resource.new
obj = s3.bucket('storagy-teen-dev-us').object("deepak_file")
obj.upload_file('./tmp/aws_test.txt')
Run Code Online (Sandbox Code Playgroud)

这很好用.但是我想deepak_file在aws桶中创建一个特定的目录photos.我已经尝试过以下但没有工作.

obj = s3.bucket('storagy-teen-dev-us').object("photos/deepak_file")

Har*_*yay 8

试试这个,

s3 = Aws::S3::Resource.new
path = 'photos/deepak_file/aws_test.txt'
s3.bucket('storagy-teen-dev-us').object(path).upload_file(./tmp/aws_test.txt)
Run Code Online (Sandbox Code Playgroud)

你只需要指定文件名的完整路径.


Kri*_*ris 7

require 'aws-sdk-s3' # v1.x

client = Aws::S3::Client.new(region: '...',
                             access_key_id: '...',
                             secret_access_key: '...')

client.put_object(bucket: bucket,
                  key: 'photos/my-pic.jpg',
                  body: File.read(some_image_file),
                  acl: 'private')
Run Code Online (Sandbox Code Playgroud)