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">
    <head>
        <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
                wlNgNSTService.upload(uploadData)
                .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 ...
                    alert('Oops!');
                });
            });
        </script>
    </head>
</html>
tut-service-upload.png
Network speed test upload raw data
Note:
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.