|
- var angular = require('angular');
-
- angular.module('UploadComp', ['ngFileUpload', 'AuthSvc']).component('uploadComponent', {
- templateUrl: '/views/shimapan/upload-form.html',
- controller: ['$scope', 'Upload', '$timeout', function ($scope, Upload, $timeout) {
- $scope.errToString = function (err) {
- if (err === 'maxSize')
- return "File too large.";
- else
- return err;
- };
-
- $scope.uploadFiles = function (files, errorFiles) {
- $scope.files = $scope.files ? $scope.files.concat(files) : files;
- $scope.errorFiles = $scope.errorFiles ? $scope.errorFiles.concat(errorFiles) : errorFiles;
-
- angular.forEach(files, function (file) {
- file.upload = Upload.upload({
- url: '/api/upload',
- method: 'POST',
- file: file
- });
-
- file.upload.then(
- function (response) {
- $timeout(function () {
- file.result = response.data;
- });
- },
- function (response) {
- if (response.status !== 200) {
- if (response.status === 401) {
- file.$error = "Unauthorized.";
- } else if (response.status === 403) {
- file.$error = "Forbidden.";
- } else {
- file.$error = "Unknown error " + response.status;
- }
- var index = $scope.files.indexOf(file);
- $scope.errorFiles.push(file);
- $scope.files.splice(index, 1);
- }
- },
- function (evt) {
- file.progress = Math.floor(Math.min(100.0, 100 * evt.loaded / evt.total));
- }
- );
- });
- };
- }],
- controllerAs: 'vm'
- });
|