Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. app.factory('fileReader', function ($http, $q) {
  2.     var onLoad = function (reader, deferred, scope) {
  3.         return function () {
  4.             scope.$apply(function () {
  5.                 deferred.resolve(reader.result);
  6.             });
  7.         };
  8.     };
  9.  
  10.     var onError = function (reader, deferred, scope) {
  11.         return function () {
  12.             scope.$apply(function () {
  13.                 deferred.reject(reader.result);
  14.             });
  15.         };
  16.     };
  17.  
  18.     var onProgress = function (reader, scope) {
  19.         return function (event) {
  20.             scope.$broadcast("fileProgress",
  21.             {
  22.                 total: event.total,
  23.                 loaded: event.loaded
  24.             });
  25.         };
  26.     };
  27.  
  28.     var getReader = function (deferred, scope) {
  29.         var reader = new FileReader();
  30.         reader.onload = onLoad(reader, deferred, scope);
  31.         reader.onerror = onError(reader, deferred, scope);
  32.         reader.onprogress = onProgress(reader, scope);
  33.         return reader;
  34.     };
  35.  
  36.     var readAsDataURL = function (file, scope) {
  37.         var deferred = $q.defer();
  38.  
  39.         var reader = getReader(deferred, scope);
  40.         reader.readAsDataURL(file);
  41.  
  42.         return deferred.promise;
  43.     };
  44.  
  45.     return {
  46.         readAsDataUrl: readAsDataURL
  47.     };
  48. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement