ruby-on-rails – 使用Refile获取图像尺寸
发布时间:2020-12-16 21:32:02 所属栏目:百科 来源:网络整理
导读:使用 Refile gem处理Rails中的文件上传,在上传期间/之后确定图像高度和宽度的最佳方法是什么?这个AFAIK没有内置的支持,我无法弄清楚如何使用MiniMagick来做到这一点. 解决方法 @ russellb的评论几乎让我在那里,但不太正确.如果你有一个名为@file的Refile ::
使用
Refile gem处理Rails中的文件上传,在上传期间/之后确定图像高度和宽度的最佳方法是什么?这个AFAIK没有内置的支持,我无法弄清楚如何使用MiniMagick来做到这一点.
解决方法
@ russellb的评论几乎让我在那里,但不太正确.如果你有一个名为@file的Refile :: File,你需要:
fileIO = @file.to_io.to_io mm = MiniMagick::Image.open(fileIO) mm.width # image width mm.height # image height 是的,这是两次调用#to_io> …<第一个to_io给你一个Tempfile,这不是MiniMagick想要的.希望这有助于某人! – 更新 – 额外的皱纹:如果文件非常小(< ~20kb,from:ruby-forum.com/topic/106583),这将失败,因为你不会从to_io获得临时文件,而是获取StringIO.如果你得到一个StringIO,你需要分叉代码并执行: mm = MiniMagick::Image.read(fileio.read) 所以我的完整代码现在是: # usually this is a Tempfile; but if the image is small,it will be # a StringIO instead >:[ fileio = file.to_io if fileio.is_a?(StringIO) mm = MiniMagick::Image.read(fileio.read) else file = fileio.to_io mm = MiniMagick::Image.open(file) end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- C#封装的常用文件操作代码类
- ADO连接使用SQLNCLI11,则查询支持查询XML字段类型
- ruby-on-rails – 回滚特定的迁移而不回滚其他迁移
- postgresql – ST_Distance的返回值单位
- ruby-on-rails – 重用多个Rails模型中的方法
- ruby-on-rails – 在Rails中如何使用find_each方法与索引?
- ruby-on-rails – 使用Ruby on Rails批量upsert
- loopback-connector-oracle 主键Number类型长度为16位以上查
- 'cocos2d::LabelTTF::getContentSize': 被声明为已
- Flex及AS3的百多条小知识