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 ngFileReader
or
npm install ngFileReader
Set 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 server
Finally,open your brower,enter http://localhost:3000/example/index.html.
Just run npm install
to install dependencies. Then run grunt
for minification.