Dan*_*han 28 ruby rubygems file-upload ruby-on-rails dragonfly-gem
我一直在研究rails文件上传工具,对我来说最吸引人和最有趣的是carrierwave和dragonfly.
从环顾四周来看,似乎载波采用更传统的风格,您可以在保存时处理文件,而蜻蜓是中间件,因此它允许您即时处理.
我想知道人们是否有任何参考性能测试或任何比较两者的测试.
此外,只是好奇人们的意见是什么,他们喜欢什么,当然为什么他们喜欢它.
lei*_*fcr 32
取决于设置.正如Senthil所写,只要你在前面有一个缓存代理,它对Dragonfly来说就没问题了.
但是如果你使用内置的rails缓存,Carrierwave会表现得更好,因为文件可以在没有任何处理的情况下加载.如果您不进行任何处理,则无关紧要.
以下是我在使用Mongomapper考虑项目中的图像时的总结:
Carrierwave:
蜻蜓:
最后我最终都使用了这两个.
未来的愿望是让carrierwave再次支持MongoMapper.在各种情况下使用后,我发现MongoMapper(rails3分支)中的功能始终有效,并且使用插件很容易扩展.对于Mongoid来说,现在不能说同样的话,但这可能会改变.
sen*_*hil 10
我之所以使用蜻蜓只是因为载波减少了对mongomapper的支持而且没有一些黑客,回形针就无法使用mongomapper.
Dragonfly即时进行处理,即
用于在缓存代理后面使用,例如Varnish,Squid或Rack :: Cache,这样第一个请求可能需要一些时间,后续请求应该超级快!
Paperclip旨在作为Active Record的简单文件附件库.其背后的意图是尽可能简化设置,并尽可能多地处理文件.这意味着它们不会保存到磁盘上的最终位置,如果设置为nil,也不会被删除,直到ActiveRecord::Base#save被调用.如果需要,它根据大小和存在来管理验证.如果需要,它可以将其指定的图像转换为缩略图,并且先决条件就像安装ImageMagick一样简单(对于大多数现代的基于Unix的系统,它就像安装正确的软件包一样简单).附加文件保存到文件系统,并通过易于理解的规范在浏览器中引用,该规范具有合理且有用的默认值.
@user.avatar = nil @user.save这个gem提供了一种从Ruby应用程序上传文件的简单且极其灵活的方法.它适用于基于Rack的Web应用程序,例如Ruby on Rails.
image属性以引用上载的图像.image_tag @product.image.thumb('150x150#')可能.rack::cache或类似的,请在每个请求上吃CPU .