2011-01-09 3 views
3

클립으로 base64 사진을 처리하고 싶습니다.
시도 할 때 :base64 사진 및 클립 - 레일

photo = Photo.new 
string = base64string 

photo.photo = StringIO.new(Base64.decode64(string)) 
photo.save 

작동하지 않습니다. 왜?

미리 감사드립니다.

답변

9

사용중인 StringIO가 열려있는 클립 클립인지 확인하십시오. 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) 

클립 클립을 StringIO와 함께 사용하려면 이러한 방법이 필요합니다. 그것들을 설정하고 있는지 확인하십시오.

+1

우수, thanks :) – amaseuk

+0

이 답변을 이해할 수 없으며 제공된 github 링크가 깨졌습니다. 모든 업데이트? – Raphael

+0

문제는 클립이 열리고 Ruby 코어 클래스 StringIO에 메서드가 추가되었으며 사용중인 StringIO에 클립이 있어야한다는 것입니다. 그게 respond_to 무엇입니까? 전화가 결정됩니다. 나는 이것이 더 이상 사실인지 또는 그들이 클립 클립 git을 어디로 옮겼는지 확신하지 못한다. 그걸 찾을 수도 있습니다. –