This is file reader component on angular.
- IE8+
- chrome
- firefox
- angularjs
- jQuery
- FileReader
You need load jQuery and FileReader if browser is not support FileReader.
And The base64 size only limit 32kb if you use base64 to set image on IE8.
You also use other FileReader version,if you don't want to use fixed position by flash.
bower install ngFileReaderor
npm install ngFileReaderSet some attrs of element.
<div ng-file-reader on-readed="onReaded( event, file )" read-method="readMethod" multiple></div>
size:{{file.size | fileSize}}
<img ng-src="{{img}}">Set a reader method.
$scope.readMethod = "readAsDataURL";Add a on-readed callback to set file size and img data.
$scope.onReaded = function( e, file ){
$scope.img = e.target.result;
$scope.file = file;
};You are able to follow this If you use browserfiy.
var app = angular.module('myApp', [require('ngFileReader')]);This is swf path, if you use ie8 ~ ie9.
Input multiple property.
Use swf only.
ex:
Set the attr on tag.
debug-mode="true"
accept file extensions.
##Parameter
This is file reader method,when you selected file to call read-method method.
ex: readAsDataURL、readAsText、readAsBinaryString
Set the attr.
read-method="readMethod"Set a string value.
$scope.readMethod = "readAsDataURL"It will trigger this event if you has selected.
It will trigger this event When the selected file has readed by file reader.
Transfer file size from number to unit.
<!-- 1048576 => 1 m -->
{{file.size | fileSize}}You can write this if you need round off to the 2nd decimal place.
{{file.size | fileSize:2}}run a server:
grunt serverFinally,open your brower,enter http://localhost:3000/example/index.html.
Just run npm install to install dependencies. Then run grunt for minification.
