Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
498 views
in Technique[技术] by (71.8m points)

ruby - base64 photo and paperclip -Rails

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...