How to Use 'Ajax Upload' with Ruby on Rail

2019-04-11 05:33发布

问题:

I'm using this Script http://valums.com/ajax-upload/ to get Ajax upload working with Ruby on Rails

but when i try uploading a file on my controller action I only get this:

Parameters: {"qqfile"=>"Foo.png"}
{"qqfile"=>"Foo.png", "action"=>"ul_file", "controller"=>"upload_files"}

but i cant use this as a file and do things as

thefile = params[:qqfile]

foo = thefile.original_filename.slice(thefile.original_filename.rindex("."), thefile.original_filename.length).downcase

what do i need to do to get this script working with Ruby on Rails?

Thanks.

///////// Updated

This is how the JS looks Like



$(document).ready(function(){
    var uploader = new qq.FileUploader({
        // pass the dom node (ex. $(selector)[0] for jQuery users)
        element: $('#file-uploader')[0],
        // path to server-side upload script
        action: '/NzzT/upload_files/ul_file'
    });

});


回答1:

my solution posted in this comment

I write QqFile for easy uploader. With paperclip example



回答2:

Here's a good solution using CarrierWave:

https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Upload-from-a-string-in-Rails-3 https://groups.google.com/forum/#!topic/carrierwave/KBn2WmrwRAs

The syntax looks like this and works like a charm:

file = CarrierwaveStringIO.new(params[:qqfile], request.raw_post)