2014-09-06 2 views
0

Мы создали приложение на Android, чтобы пользователь мог загрузить изображение. Изображение отправляется через запрос на отправку в Rails-приложении в виде растрового изображения. Примером того, что я получаю, является this.Повторно создать изображение из шестнадцатеричного кода

Я хочу использовать эту шестнадцатеричную строку кода, чтобы воссоздать изображение, а затем сохранить его в моем приложении Rails, как я мог бы сделать с помощью Paperclip.

Любой отзыв или руководство в правильном направлении было бы действительно оценено.

+0

Просто напишите 'params [: file]' в файл –

ответ

1

Для меня, это выглядит очень похоже на файл JPEG (он начинается с 0xFFD8FF), так что вы можете просто сохранить строку в файл, и вы сделали:

class UploadsController 

    def create 
    storage_path.open('w') {|f| f.write params[:file] } 
    head :ok 
    end 

protected 

    def storage_path 
    @storage_path ||= Rails.root.join('data/uploads', current_user.id, Time.now.to_i.to_s(36) << '.jpg') 
    end 
end 

Конечно, это предполагает, у вас есть метод current_user, идентифицирующий зарегистрированного пользователя (например, от разработчика), и вы хотите сохранить файл локально в $RAILS_ROOT/data/uploads/$USER_ID/.

Для производства, я бы создать Upload (или Image (или Media)) модель (belongs_to :user), и переместить логику обработки (то есть найти место для хранения, преобразования строки в файл, дополнительные проверки) в этом классе.

Смежные вопросы