在Ruby中从AWS S3检索文件

时间:2016-07-29 20:46:53

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

我在AWS S3中的以下路径(user/pdf/)中上传了多个PDF文件。因此,每个文件的路径将类似于user/pdf/file1.pdfuser/pdf/file2.pdf等。

在我的网站(Angular前端和Rails后端)中,我试图做3件事。 1)检索特定路径(user/pdf/)中的文件。 2)创建一个视图,列出从特定路径检索到的文件的名称。 3)让用户单击文件名,然后使用S3端点打开文件 4)单击按钮删除文件。

我正在研究AWS S3 doc,但是我无法从doc找到相关的API调用。愿意在执行上述行动时获得一些帮助。

1 个答案:

答案 0 :(得分:1)

您应该查看ruby S3 sdk doc

  1. 列出存储桶中的对象

    # enumerate ALL objects in the bucket (even if the bucket contains
    # more than 1k objects)
    bucket.objects.each do |obj|
      puts obj.key
    end
    
    # enumerate at most 20 objects with the given prefix
    bucket.objects.with_prefix('photos/').each(:limit => 20) do |photo|
      puts photo.key
    end
    
  2. 获取对象

    # makes no request, returns an AWS::S3::S3Object
    obj = bucket.objects['key']
    
  3. 删除对象

    bucket.objects.delete('abc')