2011-08-04 16 views
6

Pracuję nad serwerem zaplecza dla mojej aplikacji na iPhone'a. Muszę przesłać obraz z mojej aplikacji Iphone do serwera szynydekodowanie base64 przez spinacz w szynach 3

Mam kodowany kod base64 w żądaniu postu z mojej aplikacji, które muszę przeanalizować i wysłać do wtyczki Paperclip w celu zmiany rozmiaru obrazu Czy ktoś może mi zasugerować, jak to zrobić.

Pomóż mi !!!. Z góry dziękuję.

Odpowiedz

10

Aby zapisać obraz z poprawnym rozszerzeniem trzeba określić typ zawartości. Miło mieć to w modelu jako metody, która jest wywoływana before_validation

StringIO.open(Base64.decode64(self.photo_base64)) do |data| 
     data.original_filename = "image_name.jpg" 
     data.content_type = "image/jpeg" 
     self.photo = data 
    end 
+0

Należy wyjaśnić, że photo_base64 nie jest URI ale raczej " "wartość w ciągu URI. Dlatego musisz odrzucić "typ MIME" i "kodowanie", jeśli to zawiera (np. 'Photo_base64 .split (','). Pop') – user1322092