So I need to upload files via AJAX...
I have both parts working seperately....
Upload View:
<%= form_tag('upload_zip', :multipart => true) do %>
  <p>
    File:<br />
    <%= file_field_tag 'zip_file' %><br />
  </p>
  <p>
    <%= submit_tag "Upload ZIP/TAR.GZ" %>
  </p>
<% end %>
And else where I have are Remote form_tag working...
<%= form_tag url_for(:action => :add_tracks), :remote => true do %>
.....
<%= submit_tag "Submit", :disable_with => "Processing..." %>
Both of these work fine but when I try to add :remote => true I can't seem to get it to work.  Most of the syntaxes seem to not get the file name and try to upload nil.
            Asked
            
        
        
            Active
            
        
            Viewed 1,030 times
        
    0
            
            
         
    
    
        Braden
        
- 1
- 1
2 Answers
0
            
            
        File uploads are tricky. I'd recommend using Uploadify. There is an example of how to do it here: https://github.com/rdetert/FormFly
The other thing to watch out for is the protect_from_forgery that Rails uses. There was a fix not too long ago where you needed to include this in application.js to get AJAX requests to work properly in:
$(document).ajaxSend(function(e, xhr, options) {
  var token = $("meta[name='csrf-token']").attr("content");
  xhr.setRequestHeader("X-CSRF-Token", token);
});
 
    
    
        Dex
        
- 12,527
- 15
- 69
- 90
0
            
            
        It's not possible to upload a file via AJAX, but there are work-arounds and plugins to help.
See some of the answeres here: jQuery Ajax File Upload
 
    
    
        Community
        
- 1
- 1
 
    
    
        Wizard of Ogz
        
- 12,543
- 2
- 41
- 43