繁体   English   中英

使用Dragonfly上传文件,上传后无法访问图像(Rails 3)

[英]File uploading with Dragonfly, impossible to access images after upload (Rails 3)

我正在尝试使用Rails 3和Dragonfly(或任何实际可行的方法)创建多个拖放式上传文件系统

我正好通过params哈希将文件放入控制器中,并且可以将其检索为ActionDispatch :: Http :: UploadedFile,因此我认为接下来要做的就是将其推送到模型的属性图像中,但是它不起作用

这是我的图片模型:

class Picture < ActiveRecord::Base
   image_accessor :image
   attr_accessible :image_name, :image_uid, :title
end

我认为这可以在我的控制器中工作:

def createImage

@new_picture = Picture.new
@new_picture.image = params[:pic]

if @new_picture.save
  render :json => { :picture => @new_picture }
end

结束,所以这会奇怪地用image_name nil注册记录,但是设置了image_uid

但是,当我尝试访问我的图像<%= image_tag @ picture.image.url%>时,出现未找到的错误

例如 :

Request     URL:http://localhost:3000/media/BAhbBlsHOgZmSSIhMjAxMi8wOS8yMi8xOV8zMF8yOF83MzBfZmlsZQY6BkVU
Request Method:GET
Status Code:404 Not Found

我正在使用ruby 1.9.3和rails 3.2.8

有任何想法吗 ? :D

Dragonfly需要先加载其机架适配器,然后才能接收编码的url请求(如上述请求)。 最好的加载方式是在/config/application.rb config.encoding = "utf-8

config.middleware.insert 0, 'Rack::Cache', {:verbose     => true,:metastore   => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/meta"),:entitystore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/body")} unless Rails.env.production?
config.middleware.insert_after 'Rack::Cache', 'Dragonfly::Middleware', :images

请注意,您还将需要Rack-Cache gem。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM