2016-07-29 57 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