0.3.5 • Published 9 years ago

angular-file-service v0.3.5

Weekly downloads
5
License
MIT
Repository
github
Last release
9 years ago

angular-file-service

angular service for File manipulation

Installation

  • 'npm install angular-file-service'
  • usable scripts are under your 'node_modules/angular-file-service/dist'

Important note: this module is not in commonJS format

Usage

use the service as a function to get a file interface for getting data from a file.

// Declare 'angluar.file' as your dependency
var app = angular.module('myApp', [
    'angular.file'
]);

app.controller('myController', ['$document', 'fileOperator', function ($document, fileOperator) {

    // get File from Dom or somewhere else
    var fileOnDom = $document.getElementById('input-file').files[0];

    // pass to fileOperator, now you got the file interface
    var file = fileOperator(fileOnDom);

    // read the file as desired format
    file.getBase64().then(function (result) {
        console.log('File content in Base64:', result);
    });

}]);

the service is a function, you'll get a wrapped file operator once you pass file to it, it accepts two arguments:

  • file: the file instance from Web API File interface
  • maxChunkSize (optional, Default is 1MB): when calculating MD5, if the file is larger than maxChunkSize, fileOperator will do the incrementall calculation instead of loading the whole file into memory.

file operator has this method:

  • abort: cancel the loading process and reject the promise.

and these getters:

  • getBase64([start, [legth]])
  • getMd5([start, [legth]])
  • getUint8Array([start, [legth]])
  • getArrayBuffer([start, [legth]])

file interface has these properties:

  • file: the file you passed in
  • fileSize: once the file is loaded, it represent the file size in bytes
  • messages: all messages from File API

Credit

Author

Issues & PRs are welcome!

0.3.5

9 years ago

0.3.4

9 years ago

0.3.3

9 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago