各位大侠有谁能提供一个生成二维码的 gem
@neverlandxy_naix 有个问题请教一下
qr = RQRCode::QRCode.new( 'my string to generate', :size => 4, :level => :h )
其中的'my string to generate'
换成https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN
然后,会报错code length overflow. (540>288)
之后我把 size 改成了 8 之后可以显示,但是扫这个二维码没什么反应啊。
#3 楼 @gerry1004 那个库有 bug, 试试这个:
gem 'rqrcode-with-patches', require: 'rqrcode'
完整代码示例:
class QrcodesController < ApplicationController
def show
str = params[:str].to_s
max_length = 200
if str.length > max_length
render nothing: true, status: 404
return
end
require 'rqrcode/export/png'
qr = RQRCode::QRCode.new(str)
response.headers['Cache-Control'] = "public, max-age=#{12.hours.to_i}"
response.headers['Content-Type'] = 'image/png'
response.headers['Content-Disposition'] = 'inline'
render :text => qr.as_png
end
end
代码从开源项目 wblog 取出。
#3 楼 @gerry1004 另外,第一个 gem 包生成的是字符串,不是图片,第二个 gem 包生成的才是图片. @MrPasserby 正解,放在前端做才是正解