错误:使用Base64 for Paperclip 5.2找不到“处理程序”

时间:2018-03-08 14:58:37

标签: ruby-on-rails ruby paperclip

我面临着将图像上传为base64的问题。

回形针版本 5.1.0或更低

,一切正常

我的模特:

do_not_validate_attachment_file_type :image

has_attached_file :image

我的控制器操作:

def update
  current_appointment.update(update_params)

  redirect_to check_in_flow.next_step_path
end

private

def update_params
  params.require(:appointment).permit(:image)
end

我的参数:

<ActionController::Parameters {"appointment"=>{"image"=>"data:image/png;base64, iVBORw0KGgo..."}, "controller"=>"my_controller", "action"=>"update"} permitted: false>

升级版本I后,我总是得到:

 Paperclip::AdapterRegistry::NoHandlerError:
   No handler found for "data:image/png;base64, iVBORw0KGgo..."

是否有人遇到类似问题,或许新版本不再支持base64了?

Paperclip版本: 5.2.0或最新

Rails版本: 5.1.4

Ruby版本: 2.3.4p301

1 个答案:

答案 0 :(得分:4)

升级后遇到类似问题,发现解决方案是将以下内容添加到config/initializers/paperclip.rb

Paperclip::DataUriAdapter.register

看起来这发生在5.2.0之前

https://github.com/thoughtbot/paperclip/pull/2435