使用载波获取 gif 中的第一张图像

2023-11-24

我使用载波上传 gif,效果很好,当我尝试生成拇指版本并将 gif 转换为 jpeg(仅将 gif 中的第一个图像作为拇指)时,问题出现了,我收到错误:

LocalJumpError in ImagesController#create

no block given (yield)

app/controllers/images_controller.rb:21:in `new'
app/controllers/images_controller.rb:21:in `create'

Request

参数:

{"utf8"=>"✓",
"authenticity_token"=>"lPEjP1WtPxFdizL2/FAWGHzOZPtecb5nKzKO8dg5ZdE=",
"image"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x007ff5d4cdc720 @original_filename="some-file-name.gif",
@content_type="image/gif",
@headers="Content-Disposition: form-data; name=\"image[image]\"; filename=\"some-file-name.gif\"\r\nContent-Type: image/gif\r\n",
@tempfile=#<File:/var/folders/c8/1t7w8nln4b3bvs4_nv2cyn2m0000gt/T/RackMultipart20120326-5101-gcyvk0>>,
"remote_image_url"=>"",
"title"=>"The red panda",
"nsw"=>"0"},
"commit"=>"Roll GIF"}

这是我用来生成拇指的代码:

version :thumb do
    process :resize_to_limit => [200, 200]
    process :convert => 'jpg'
end

希望大家能够帮忙并提前致谢。


要使用 Carrierwave 从 gif 图像中删除动画,您可以定义以下处理器:

def remove_animation
  manipulate! do |img, index|
    index == 0 ? img : nil
  end
end

因此,拇指版本的代码将是:

version :thumb do
  process :remove_animation
  process :resize_to_limit => [200, 200]
  process :convert => 'jpg'
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用载波获取 gif 中的第一张图像 的相关文章

随机推荐

  • 为什么 [].append() 在 python 中不起作用? [复制]

    这个问题在这里已经有答案了 为什么这有效 a a append 4 print a 但这并不 print append 4 第二种情况的输出是None 你能解释一下输出吗 The append方法没有返回值 它会就地更改列表 并且由于您没有
  • Flutter:使用自定义 ErrorWidget

    有没有办法显示 在生产中 自定义错误小部件而不是死机红屏 我不会更改框架代码 而且即使我们尝试无错误地编程 我们也不能保证它会发生 可以通过更改来更改默认错误渲染ErrorWidget builder ErrorWidget builder
  • Google Analytics 缺少 __utmz cookie

    我在我的网站上安装了通用分析 并且想要解析 utmzcookie 来获取推荐信息 然而 我从未见过这个饼干集 有什么改变吗 有什么原因没有设置吗 我确实看到了 ga当我浏览我的网站时 我会看到 cookie utmzcookie 在我的浏览
  • Python找不到本地模块

    我有一个这样的文件夹结构 setup py core init py interpreter py tests init py test ingest py 如果我尝试导入core in test ingest py运行它 我得到一个Imp
  • 如何判断 onCreate firebase 云函数中的用户是否为“匿名”?

    在我的里面onCreatefirebase 处理程序的 auth 云函数 我如何判断用户是否是匿名的 例如这isAnonymous我在客户端获得的财产onAuthStateChanged or onIdTokenChanged回复 expo
  • URL 中的 # 是什么意思以及如何使用它?

    我经常发现一些如下所示的 URL www something com some page someword 编写此页面后 some page 将打开 然后设置滚动 以便我可以看到 someword 在我的屏幕开头 我不知道 是什么意思 我一
  • GetAdornerLayer 神秘地返回 null

    我一直在我的应用程序的多个版本中使用相同的代码 没有任何问题 但我现在神秘地收到NullRerefenceException具有以下内容 this Loaded delegate deleteBrush new DeleteBrushAdo
  • 如何重置SA密码?

    到底如何重置sa密码 我知道如何进入对话框并重置密码 这就是我现在要问的 它的运行比单击 单击 新密码更深入一点 完成 我不知道SA密码是什么 这台机器的先前用户也没有 之前的用户说他从未在这台机器上运行过 SQL Express 当我尝试
  • Spark如何处理对象

    为了测试 Spark 中的序列化异常 我用两种方式编写了一个任务 第一种方式 package examples import org apache spark SparkConf import org apache spark SparkC
  • 通过 Service Fabric 项目进行调试时未使用环境变量

    创建 ASP NET Core 应用程序时 环境变量名为ASPNETCORE ENVIRONMENT Development将为您设置 调试时您将看到IHostingEnvironment被设定为Development 问题是 当我在为 S
  • R 中字符的对象大小 - R 全局字符串池如何工作?

    我正在阅读 Hadley 的高级 R 编程 当它讨论字符的内存大小时 它是这样说的 R 有一个全局字符串池 这意味着每个唯一的字符串仅 存储在一个地方 因此字符向量占用更少 记忆力超出您的预期 书上给出的例子是这样的 library pry
  • 如果我第一次获取属性,实体框架只会将相关实体属性设置为“null”

    Edit这似乎发生在any在一个方向引用另一个实体的实体属性 换句话说 对于下面的例子 事实是Bar覆盖平等似乎是无关紧要的 假设我有以下课程 public class Foo public int Id get set public vi
  • 使用 openapi-generator 生成客户端时如何覆盖服务器 -> url (basepath)?

    我有一个 OpenAPI 规范文档 我不控制 其中包含以下代码片段 servers url http www someservice com api 我正在使用此 OpenAPI 文档来生成我在 Angular SPA 中使用的 types
  • 是否可以在 Sprite Kit 中使用圆形(SKShapeNode)作为遮罩?

    我正在尝试在 Sprite Kit 项目中创建圆形蒙版 我像这样创建圆圈 将其放置在屏幕中心 SKCropNode cropNode SKCropNode alloc init SKShapeNode circleMask SKShapeN
  • dplyr group by,将前一组的值结转到下一组

    好的 这是我试图通过 dplyr 实现的目标的总体视图 我使用 dplyr 进行计算以形成新列 initial capital x long shares x end value x net profit new initial capit
  • MySQL:@变量与变量。有什么不同?

    在我发布的另一个问题中 有人告诉我 以下两者之间存在区别 variable and variable 在 MySQL 中 他还提到 MSSQL 如何具有批处理范围 MySQL 如何具有会话范围 有人可以为我详细解释一下吗 MySQL有一个概
  • 重新定义 PHP 函数?

    如果我有一个函数 function this a return a 如果我想重新定义函数 是不是就重写那么简单呢 function this a b New this function return a b 不 这会引发错误 Fatal e
  • 当前本地键盘映射的 Emacs 名称?

    我正在编写一个 elisp 函数 它将给定的键永久绑定到当前主要模式的键盘映射中的给定命令 例如 define key python mode map C f1 python describe symbol 命令和按键序列是从用户处交互收集
  • 如何解决 Nginx“proxy_pass 502 Bad Gateway”错误

    我尝试在 nginx conf 文件中添加 proxy set header 当我尝试添加 proxy pass 并调用 URL 时 它会抛出 502 Bad Gateway nginx 1 11 1 错误 不确定如何解决此错误 upstr
  • 使用载波获取 gif 中的第一张图像

    我使用载波上传 gif 效果很好 当我尝试生成拇指版本并将 gif 转换为 jpeg 仅将 gif 中的第一个图像作为拇指 时 问题出现了 我收到错误 LocalJumpError in ImagesController create no