如何根据您所处的环境有条件地将文件存储在亚马逊S3上

发布于 2024-11-15 03:42:50 字数 566 浏览 3 评论 0原文

我正在使用 Paperclip,此代码与 aws-s3 gem 一起允许我使用 Amazon S3 存储上传的文件:

has_attached_file :photo,
  :styles => {
    :tiny => "25x25#",
    :shown => "40x40#",
    :thumbnail => "50x50#",
    :small  => "150x150>",
    :medium => "300x300>" },
    :default_url => "/images/default_:style.jpg",
    :storage => :s3, 
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
    :path => "profile/:attachment/:style/:id.:extension"

但是,当我在 Amazon S3 上时,我不想在 Amazon S3 上存储文件我的开发环境。我如何在我的应用程序中设置它?

I'm using Paperclip, and this code, along with the aws-s3 gem, allows me to store file uploads with Amazon S3:

has_attached_file :photo,
  :styles => {
    :tiny => "25x25#",
    :shown => "40x40#",
    :thumbnail => "50x50#",
    :small  => "150x150>",
    :medium => "300x300>" },
    :default_url => "/images/default_:style.jpg",
    :storage => :s3, 
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
    :path => "profile/:attachment/:style/:id.:extension"

However I do not want to store files on Amazon S3 when I am in my development environment. How do I set that in my application?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

↙厌世 2024-11-22 03:42:50

在environment.rb的末尾:

APP_CONFIG = YAML.load_file("#{Rails.root.to_s}/config/config.yml")[Rails.env]

在config/config.yml中:

development:
  use_amazon: false

test:
  use_amazon: false

production:
  use_amazon: true

在你的控制器中:

if APP_CONFIG['use_amazon']
   #USING AMAZON S3
else
   #USING SOMETHING ELSE
end

这应该可以工作。
祝你好运!

In the end of environment.rb:

APP_CONFIG = YAML.load_file("#{Rails.root.to_s}/config/config.yml")[Rails.env]

In config/config.yml:

development:
  use_amazon: false

test:
  use_amazon: false

production:
  use_amazon: true

And in your controller:

if APP_CONFIG['use_amazon']
   #USING AMAZON S3
else
   #USING SOMETHING ELSE
end

This should work.
Good Luck!

向日葵 2024-11-22 03:42:50

你可能可以做类似的事情

:storage => Rails.env.production? ? :s3 : :whatever

you could probably do something like

:storage => Rails.env.production? ? :s3 : :whatever
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文