huobazi/carrierwave-qiniu

使用 carrierwave 里面的 recreate_versions! 方法报错

zhgll100 opened this issue · 1 comments

图片上传到的qiniu

执行 ProductImage.find(61585).picture_url.recreate_versions! 返回

D, [2016-10-14T14:34:12.671465 #14169] DEBUG -- : [httplog] Connecting: uat.image.kjds.com:80
D, [2016-10-14T14:34:12.798838 #14169] DEBUG -- : [httplog] Sending: GET http://uat.image.kjds.com:80/uploads/product_image/picture_url/61585/wer.png
D, [2016-10-14T14:34:14.134007 #14169] DEBUG -- : [httplog] Status: 200
D, [2016-10-14T14:34:14.134253 #14169] DEBUG -- : [httplog] Benchmark: 1.3349422269966453 seconds
D, [2016-10-14T14:34:14.134425 #14169] DEBUG -- : [httplog] Response: (not showing binary data)
W, [2016-10-14T14:34:14.135568 #14169]  WARN -- : incompatible character encodings: UTF-8 and ASCII-8BIT => Qiniu::HTTP.get('http://uat.image.kjds.com/uploads/product_image/picture_url/61585/wer.png')
TypeError: no implicit conversion of nil into String
from uby-2.3.0@camp/gems/carrierwave-0.10.0/lib/carrierwave/uploader/cache.rb:83:in `initialize'

原图已经上传到 qiniu 去了 recreate_version 无法简单的实现,我能想到的就是再次把图片 down 下来,重新 upload 一下。

不过这个太麻烦,还是建议使用 qiniu 自己的 图片处理,省 cpu 资源,专业的事情交给专业的去做。

see:

http://developer.qiniu.com/code/v6/api/kodo-api/index.html#image

#67