2016-07-29 34 views
0

我在AWS S3中的以下路径(user/pdf/)中上传了多个PDF文件。因此,每个文件的路径将如user/pdf/file1.pdf,user/pdf/file2.pdf从Ruby中的AWS S3中检索文件

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

我正在查看AWS S3文档,但我找不到来自文档的相关API调用。希望在执行上述操作时获得一些帮助。

+0

你读这个API文档https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html – error2007s

回答

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 
  • 审查ruby S3 sdk doc

    1. 上市对象得到一个对象

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

      bucket.objects.delete('abc') 
      
  • +0

    你好。 #2和#3中的'key'和'abc'是什么? – JoHksi

    +0

    它与您的案例file1.pdf中的S3密钥相同,包括完整路径 –

    +0

    ,因此密钥基本上只是一个包含文件名的路径,对不对?另外,我可以在'with_prefix('photos /')'中指定特定的路径吗? – JoHksi