【问题标题】:put object to a specific folder in aws S3 ruby将对象放入 aws S3 ruby​​ 中的特定文件夹
【发布时间】:2017-09-13 23:46:03
【问题描述】:

我尝试使用 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')

这很好用。但我想在 aws 存储桶的特定目录中创建deepak_file,比如说photos。我已经尝试了以下但没有工作。

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

【问题讨论】:

    标签: ruby-on-rails ruby amazon-web-services ruby-on-rails-4 amazon-s3


    【解决方案1】:

    试试这个,

    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)
    

    你只需要用文件名指定目录的完整路径。

    【讨论】:

      【解决方案2】:
      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')
      

      【讨论】:

        猜你喜欢
        • 2014-07-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-12
        • 1970-01-01
        • 1970-01-01
        • 2021-06-15
        • 2018-10-24
        • 2016-06-26
        相关资源
        最近更新 更多