Загрузка AJAX с помощью плагина Prototype.js - PullRequest
1 голос
/ 27 октября 2009

Как загрузить файл изображения с помощью ajax с помощью плагина prototype.js, мне нужно отобразить это изображение после его загрузки, пожалуйста, помогите решить эту проблему.

Спасибо

Ответы [ 3 ]

1 голос
/ 27 октября 2009

Вам тоже нужно что-то на сервере.

Я рекомендую использовать скрепку для хранения файлов на вашем сервере.

Как только вы его настроите, вы должны заставить свой ajax сгенерировать одну форму с полем "file". Также помните, что форма должна быть составной.

<% form_for @picture, :html => { :multipart => true } do |f| %>
  <%= f.file_field :file %>
  <%= f.submit "Submit" %>
<% end %>

Если вам просто нужно загрузить один файл, вам, вероятно, не нужен полный AJAX - только обычный javascript - для отображения / скрытия формы. Как это:

<%= link_to_function 'Show/Hide image upload') do |page|
      page.visual_effect :toggle_blind, 'upload_image'
    end
%>

<div id='upload_image' style='display:none'>
  <% form_for @picture, :html => { :multipart => true } do |f| %>
    <%= f.file_field :file %>
    <%= f.submit "Submit" %>
  <% end %>
</div>

Обратите внимание, что для сокрытия / показа div я использую эффект Scriptaculous, а не просто прототип - ScriptAculous в любом случае включается по умолчанию в рельсы.

0 голосов
/ 19 октября 2011
https://github.com/JangoSteve/remotipart

Remotipart - это гем Ruby on Rails, позволяющий загружать файлы AJAX с помощью jQuery в Rails 3.0 и Rails 3.1 удаленных форм. Этот гем расширяет встроенную функциональность удаленной формы jQuery Rails, позволяя асинхронную загрузку файлов практически без изменений в вашем приложении.

gem 'remotipart', '~> 1.0'
bundle install
0 голосов
/ 27 октября 2009

вы можете использовать remote_form_for с плагином для загрузки файлов, таким как attachment_fu или paperclip, а затем визуализировать изображение обратно в виде после загрузки Возможно, используется update_page в контроллере.

...