【问题标题】:Carrierwave - Save to S3 as an independent actionCarrierwave - 作为独立操作保存到 S3
【发布时间】:2012-11-09 14:36:49
【问题描述】:

我的用户将外部图像 URL (http://their-site.com/photo.jpg) 存储在 - 例如 - @user.external_image。我正在尝试为 User 类编写一个方法,该方法采用该 URL 并使用 Carrierwave 将其保存到 S3。

所以在上面的@user 上,我想运行@user.save_to_s3 并让它“上传”图像到S3。我尝试通过将 :s3_image 上的上传器安装到 User 类并编写以下方法来做到这一点:

def save_to_s3
  self.remote_s3_image_url = self.external_image
  save
end

但是当我在 @user 记录上调用该方法时出现以下错误:

“ArgumentError:缺少必需的参数:aws_access_key_id、aws_secret_access_key”

所以它越来越接近,但它没有检索我的 S3 凭据 - 即使它们已设置。如有任何想法或建议,我将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby amazon-s3 carrierwave fog


    【解决方案1】:

    这个问题与 Carrierwave 或 Fog 无关。我设置的 ENV 变量(在我的应用程序的 .env 文件中)没有被加载到引导的 Rails 环境(例如 rails 控制台)中,这是我的疏忽。一旦我将http://github.com/bkeepers/dotenv(正好解决了这个问题)添加到我的包中,save_to_s3 方法就起作用了。

    【讨论】:

    • 你能清楚地说明你是如何解决这个问题的吗?我已经在初始化文件夹中有一个carrierwave.rb,但它仍然没有读取aws_key
    猜你喜欢
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    相关资源
    最近更新 更多