Ruby on rails 蜻蜓
我一直在研究rails文件上传工具,对我来说最吸引人和最有趣的工具是carrierwave和dragonfly 环顾四周,carrierwave似乎采用了更传统的风格,您可以在保存时处理文件,而dragonfly是中间件,因此它允许您动态处理文件 我想知道人们是否有任何关于性能测试的参考资料,或者有任何比较这两者的测试Ruby on rails 蜻蜓,ruby-on-rails,ruby,file-upload,rubygems,dragonfly-gem,Ruby On Rails,Ruby,File Upload,Rubygems,Dragonfly Gem,我一直在研究rails文件上传工具,对我来说最吸引人和最有趣的工具是carrierwave和dragonfly 环顾四周,carrierwave似乎采用了更传统的风格,您可以在保存时处理文件,而dragonfly是中间件,因此它允许您动态处理文件 我想知道人们是否有任何关于性能测试的参考资料,或者有任何比较这两者的测试 另外,我只是想知道人们对这两种产品的看法是什么,他们喜欢哪一种,当然还有他们喜欢它的原因。我之所以使用蜻蜓点水,仅仅是因为carrierwave已经放弃了对mongomapper
另外,我只是想知道人们对这两种产品的看法是什么,他们喜欢哪一种,当然还有他们喜欢它的原因。我之所以使用蜻蜓点水,仅仅是因为carrierwave已经放弃了对mongomapper的支持,而且如果没有一些黑客的帮助,回形针就无法使用mongomapper 蜻蜓在飞行中进行加工,即 是指在一个 缓存代理,如Varnish、Squid或 Rack::Cache,以便在 请求可能需要一段时间,后续 请求应该是超级快速
取决于设置。正如Senthil所写,只要前面有缓存代理,蜻蜓就可以了 但是如果您使用内置的rails缓存,Carrierwave的性能会更好,因为文件可以在不进行任何处理的情况下加载。如果你不做任何处理,那没关系 以下是我在使用Mongomapper的项目中考虑两种图像时的总结: Carrierwave:
- 专业人士
- 上传时生成拇指(节省CPU时间)
- 可以直接使用静态/缓存文档中的文件
- 不需要任何缓存
- 支持各种存储后端(S3、Cloudfiles、GridFS、普通文件),如果需要,可以轻松扩展到新的存储类型
- 缺点
- 上传时生成拇指(难以生成新拇指大小)
- 本机不支持mongomapper
- 为生成的每个文件/缩略图使用存储空间。如果使用普通文件存储,可能会耗尽索引节点李>
- 专业人士
- 应该使用mongomapper,因为它只扩展了ActiveModel
- 动态生成拇指(更容易创建新布局/拇指大小)
- 只存储一个文件!节省空间:)
- 缺点
- 如果您没有缓存代理、rack::cache或类似工具,则每次请求都会占用CPU
- 如果需要,无法将拇指作为文件访问
ActiveRecord::Base#save
之前,它们不会保存到磁盘上的最终位置,如果设置为nil,也不会被删除。如果需要,它会根据大小和状态管理验证。如果需要,它可以将指定的映像转换为缩略图,前提条件与安装ImageMagick一样简单(对于大多数基于Unix的现代系统,安装ImageMagick与安装正确的软件包一样简单)。附加文件保存到文件系统中,并通过易于理解的规范在浏览器中引用,该规范具有合理和有用的默认值
优势
@user.avatar=nil@user.save
image
属性以引用上载的图像