0
爲了給出一點上下文,我正在使用Rails API和Ember前端構建一個配方應用程序。爲了獲得食譜,我正在抓取某些網站並將這些信息存儲在PG數據庫中。在S3上存儲刮擦圖像的最佳方式
因爲有這麼多的圖片,我想開始儲存那些S3。在過去,我用Paperclip處理圖片上傳到S3,但由於我的Rails應用程序只是一個API,我不確定最好的方法/工具是什麼。有沒有人做過類似的事情?
爲了給出一點上下文,我正在使用Rails API和Ember前端構建一個配方應用程序。爲了獲得食譜,我正在抓取某些網站並將這些信息存儲在PG數據庫中。在S3上存儲刮擦圖像的最佳方式
因爲有這麼多的圖片,我想開始儲存那些S3。在過去,我用Paperclip處理圖片上傳到S3,但由於我的Rails應用程序只是一個API,我不確定最好的方法/工具是什麼。有沒有人做過類似的事情?
如果您的S3存儲是公開訪問(這是理想和高性能),只要使用爲你的形象,而不是通過滑軌去了S3的URL。
如果你必須要經過Rails的,因爲你要保持你的S3存儲桶的私人(這種方法更昂貴的規模),你可以在一個控制器動作檢索S3對象,併爲他們提供服務的方式。 http://api.rubyonrails.org/classes/ActionController/DataStreaming.html#method-i-send_data
粗糙例如::
def MediaController < ApplicationController
def s3_image
bucket_get_result = G_CLIENT.execute(
api_method: G_API.objects.get,
parameters: {bucket: 'my_bucket', object: params.require(:object_name), alt: 'media'}
)
send_data bucket_get_result.body, :disposition => 'inline'
end
end
這可以用
send_data
方法來完成