[英]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.