我试图通过我编写的rails应用程序从我的S3文件服务器下载文件。但是,我很难弄清楚如何实现这一目标。我一直在尝试使用亚马逊博客中的this reference来使其发挥作用。
在我的控制器的get方法中,我有以下内容:
asset = current_user.assets.find_by_id(params[:id])
File.open('filename', 'wb') do |file|
reap = s3.get_object({ bucket:'bucket-name', key: URI.encode(asset.uploaded_file.url)}, target: file)
end
但是我收到以下错误:
未初始化的常量AssetsController :: s3
我正在使用gem aws-sdk。任何建议都会非常感激。
答案 0 :(得分:1)
未初始化的常量AssetsController :: s3
您需要定义s3
,以下内容应该有效
asset = current_user.assets.find_by_id(params[:id])
File.open('filename', 'wb') do |file|
s3 = Aws::S3::Client.new
reap = s3.get_object({ bucket:'bucket-name', key: URI.encode(asset.uploaded_file.url)}, target: file)
end