Загрузка файла в формате RGB на Rails AJAX

Есть ли какой-либо простой способ обработки загрузки файла AJAX в Rails? например с плагином

Ответы

Ответ 1

Конечно, возможно, здесь У вас есть учебник и пара ссылок на плагины.

Ответ 2

Если вы используете Rails 3, я написал плагин, который делает загрузку файла стиля AJAX относительно тривиальным для реализации.

http://rubygems.org/gems/remotipart

Ответ 4

Не нужно использовать для этого некоторые специальные плагины. Самый простой способ сделать загрузку изображений ajax для меня - это просто сделать форму, которая загружает фотографии, чтобы действовать как ajax. Для этого я использую плагин ajaxForm jQuery: http://www.malsup.com/jquery/form/ Затем верните загруженное изображение js и поместите его на свою страницу.

Итак, вы должны сделать свою форму ajaxForm:

$('#uploader').ajaxForm({dataType: "script",
         success: ajaxFormErrorHandler,
         error: ajaxFormSuccessHandler
}

выглядит так:

  def add_photo
    @photo = PhotosMeasurement.new(params[:user_photo])
    respond_to do |format|
      if @photo.save
         format.json { render :json =>  @photo}
      else
         format.json { render :json =>  nil}
      end
    end
  end

а в ajaxFormSuccessHandler вы просто получаете объект изображения:

var photo = jQuery.parseJSON(responseText.responseText);

и поместите фото где угодно:

target.find('.addPhoto').before(''+
       '<input class="imageId" type="hidden" value='+photo.id+' > '+
       '<img src='+photo.photo.thumb.url+' alt="Thumb_1"> ');

P.S: Не знаю, почему, но если вы вернетесь к обработчику ajaxForm, он обрабатывает этот запрос как ERROR, а не SUCCESS.

P.P.S: конечно, плагин jQuery-File-Upload делает больше, но если вам это не нужно, вы можете использовать этот способ.

P.P.P.S: у вас должна быть уже функциональная загрузка файла без ajax для этого =)