WiseLoop JavaScript Network Speed Tester 2.1.2
JavaScript Bandwidth Checker
Measuring Upload Speed

In order to get the upload speed measurement data, we need another provided service also: wlNgNSTDataGenerator. We call wlNgNSTDataGenerator.generate() method to generate some bogus data to upload in order to be able to measure the speed.

<html ng-app="demo-app" ng-controller="demoAppController">
        <script type="text/javascript" src="../bins/lib/angular/angular.min.js"></script>
        <script type="text/javascript" src="../bins/wl-ng-network-speed-tester.js"></script>
        <script type="text/javascript">
            //must set the bins url
            angular.module('wl-ng-network-speed-tester').value('bins', '../bins');

            //create an AngularJS module with a dependency to our bandwidth tester
            var demoApp = angular.module('demo-app', ['wl-ng-network-speed-tester']);
            //declare a controller with a dependency on network speed tester service (wlNgNSTService) and data generator (wlNgNSTDataGenerator)
            demoApp.controller('demoAppController', function(wlNgNSTService, wlNgNSTDataGenerator) {

                //generate 1Mb of data to upload
                var uploadData = wlNgNSTDataGenerator.generate(102400);

                //call the upload method of the service
                .then(function(data) {
                    //on success display the download payload size, time and speed
                    alert('Payload: ' + data.size + ' bytes\n' + 'Time: ' + data.time + ' seconds\n' + 'Speed: ' + data.speed + ' bps');
                }, function(error) {
                    //on error ...
Network speed test upload raw data
Please note that the the directive will call this service method multiple times (see iteration attribute) and will offer an average result increasing the accuracy of the measurement.