Rails 3:如何将上传的图像保存到资源目录以及如何显示它们?

时间:2012-08-13 16:15:44

标签: ruby-on-rails ruby imagemagick carrierwave

我关注了关于Carrierwave的Railscast:http://railscasts.com/episodes/253-carrierwave-file-uploads

我查看了Carrierwave Wiki:https://github.com/jnicklas/carrierwave/wiki/How-To%3A-Secure-Upload

我也用Google搜索了这个问题,找不到答案。

我正在尝试将上传的图像保存到资源目录中(它们可以更安全,不被所有人访问),然后将它们显示在网页中。

我试过了......

Rails.root + "app/assets/images/uploads/children/#{mounted_as}/#{model.id}"

...将它保存在资源目录中,但是我很难在网页中显示图像。

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以上传:

File.open(Rails.root.join('app/assets', 'app_banners', uploaded_io.original_filename), 'wb') do |f|
  f.write(uploaded_io.read)
end

其中uploaded_io是您的$_FILES变量而app_bannersassets下的文件夹

要显示,您可以使用

其中image.png放在资源中的任何文件夹中,自动检测并显示在您的网页上.. ..