UploadKit-Rails¶ ↑
UploadKit-Rails packages up Entropi Software’s Upload Kit UI and places it in a gem so that it can be easily included in Ruby on Rails based projects. For further information on UploadKit, please refer to github.com/entropillc/UploadKit.
UploadKit requires use of Twitter’s Bootstrap css library. We recommend the use of Bootstrapped for easily integrating the Bootstrap CSS/Less and Javascript files in to your project. You can find more information about Bootstrapped here: github.com/entropillc/bootstrapped.
Setup¶ ↑
UploadKit-Rails was specifically developed for Rails 3 and above applications. To install, include upload_kit-rails in your Gemfile.
gem "upload_kit-rails"
Ensure that you have A copy of Twitter’s Bootstrap CSS in your asset pipeline. For ease of use, you can use Bootstrapped. Refer to the installation instructions at github.com/entropillc/bootstrapped.
After running bundle install to install the gem, you need to run the upload_kit install generator. T
rails g upload_kit:install
Usage¶ ↑
You can use the following markup for creating a uploader for a single file. The URL has to be to a restful interface of uploading files:
<%= f.file_field :attachment, :class => "uk-input", :data => { :upload_url => './', :max_file_size => "10mb" } %>
This is the HTML generated:
<!-- Single-file uploader --> <input type="file" class="uk-input" name="attachment" data-upload-url="./" data-max-file-size="10mb"/>
Listening for events¶ ↑
Upload kit allows you to listen for events that occur during the lifecycle of the upload. Below is an example:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>UploadKit Demo</title> <link rel="stylesheet" type="text/css" href="externals/bootstrap/docs/assets/css/bootstrap.css"/> <link rel="stylesheet" type="text/css" href="uploadkit.css"/> <script type="text/javascript" src="jquery-1.7.1.js"></script> <script type="text/javascript" src="externals/plupload/js/plupload.full.js"></script> <script type="text/javascript" src="uploadkit.js"></script> <script type="text/javascript"> $(function() { $('.uk-input').bind(UKEventType.FileUploaded, function(evt) { console.log(evt.response); }); }); </script> </head> <body> <form method="post" action="#"> <!-- Multi-file uploader --> <input type="file" class="uk-input" name="attachments" multiple="multiple" data-upload-url="./" data-max-file-size="100mb"/> <!-- Single-file uploader --> <input type="file" class="uk-input" name="avatar" data-upload-url="./" data-max-file-size="10mb"/> </form> </body> </html>
Change Log¶ ↑
Version 1.1.0¶ ↑
-
Added custom events for file upload completion and upload errors so that application-specific code can listen for these events and handle server responses and errors.
Version 1.0.0¶ ↑
-
Adds CSS and Javascript files to ensure that UploadKit works properly
-
Created generator to place necessary references in application.js and application.css
License¶ ↑
Copyright 2011 Entropi Software, LLC.
Licensed under the Apache License, Version 2.0: www.apache.org/licenses/LICENSE-2.0