使用Prototype.js插件上传AJAX

如何使用prototype.js插件使用ajax上传图像文件,我需要在上传后显示这些图像请帮助解决这个问题。

谢谢

你也需要服务器上的东西。

我建议使用paperclip存储服务器上的文件。

设置完成后,应该让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我正在使用Scriptaculous效果,而不仅仅是原型 – scriptaculous默认包含在rails上。

您可以将remote_form_for与attachment_fu或paperclip等文件上传插件一起使用,然后在上传后将图像渲染回视图。 可能在控制器中使用update_page。

 https://github.com/JangoSteve/remotipart 

Remotipart是一个Ruby on Rails gem,可以在Rails 3.0和Rails 3.1远程表单中使用jQuery上传AJAX文件。 这个gem增强了原生的Rails jQuery远程表单function,可以实现异步文件上传,几乎不需要修改你的应用程序。

 gem 'remotipart', '~> 1.0' bundle install