AngularJS File Upload
A gem that uses angular-file-upload as an asset in the Rails Asset Pipeline.
Installation
Add this line to your application's Gemfile:
gem 'angularjs-file-upload-rails', '~> 2.4.1'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install angularjs-file-upload
Usage
Include it in your JavaScript manifest (e.g. application.js
)
//= require angularjs-file-upload
* be sure that angular is required before angularjs-file-upload
Read more
read more about the options in angular-file-upload-wiki
Basic example
* *assuming that you have setup an angularjs
correctly in your rails app
gem 'angularjs-file-upload-rails', '~> 2.4.1'
gem 'carrierwave'
gem 'rails', '4.2.5.1'
Setup your carrierwave gem as discribed in the carrierwave-readme
add angularjs-file-upload-rails
to your gem file
add
//= require angularjs-file-upload
to application.js
in the angular file
angular
.module('app', ['angularFileUpload'])
.controller('AppController', function($scope, FileUploader) {
$scope.uploader = new FileUploader({url: '<your controller path>'});
});
in your view
<div ng-app="app">
<div ng-controller="AppController">
<input type="file" nv-file-select uploader="uploader"/><br/>
</div>
</div>
in your controller
class UsersController < ApplicationController
def create
user = User.new()
//other params
user.picture = params[:file]
user.save
end
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request