问题
I want to handle a base64 photo with paperclip.
When I try:
photo = Photo.new
string = base64string
photo.photo = StringIO.new(Base64.decode64(string))
photo.save
It does not work. Why?
Thanks in advance.
回答1:
Make sure that the StringIO you are using is the paperclip opened one. https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/upfile.rb
sio = StringIO.new(Base64.decode64(string))
puts sio.respond_to?(:original_filename)
puts sio.respond_to?(:content_type)
It needs to have those methods in order to have paperclip work with StringIO. Make sure it is setting them.
来源:https://stackoverflow.com/questions/4641728/base64-photo-and-paperclip-rails