Это похоже на проблему, опубликованную здесь , но это решение не работает для меня.Может быть, это потому, что я не передаю данные правильно.
Я извлекаю скриншоты из Flash и отображаю их на странице с помощью Jquery:
$SNAPSHOT_PREVIEW.attr("src","data:image/jpg;base64," + imgData);
$HIDDEN_BASE64_STRING.val(imgData);
У меня все было хорошо и работалогде вы можете сохранить изображение в Rails во Flash, но Flash не позволит вам вызывать действие после публикации без нажатия пользователем кнопки по соображениям безопасности.Имеет смысл.В любом случае, теперь я не могу заставить Paperclip сохранить изображение из формы HTML:
#(photo has_attached_file:image)
@photo = params[:photo]
data = StringIO.new(Base64.decode64(params[:base64_string]))
data.class.class_eval { attr_accessor :original_filename, :content_type }
data.original_filename = "screenshots.jpg"
data.content_type = "image/jpg"
@photo.image = data
Выдает ошибку:
NoMethodError (undefined method `image=' for #<ActiveSupport::HashWithIndifferentAccess:0x8c2e420>):
Как мне нужно изобразить изображение base64данные во вложение скрепки?
Для получения бонусных баллов нужно ли скрытое поле для передачи данных, или есть ли разумный, совместимый с браузером способ использования изображения src в качестве значения формы?