0

如果文件扩展盘区的大小如何实现,我想从服务器发回数据到我的控制器是我的代码。将角度js返回给控制器的值

myApp.service('fileUpload', ['$http', function ($http) { 
this.uploadFileToUrl = function (fileData, uploadUrl) { 
    if (fileData.size > 50000000) { 
     var fd = new FormData(); 
     fd.append('file', fileData); 
     $http.post(uploadUrl, fd, { 
      transformRequest: angular.identity, 
      headers: { 'Content-Type': undefined } 
     }) 
     .success(function() { 

     }) 
     .error(function() { 

     }); 
    } 
    else { 
     return "Image size is more than 5MB"; 
    } 
    } 
    }]); 
+0

使用'回调“,因为它是异步操作... – Rayon

+0

你能写出解决方案吗? –

回答

0

您应该使用$ Q服务的要求延迟执行等为 -

myApp.service('fileUpload', ['$http','$q', function ($http,$q) { 
this.uploadFileToUrl = function (fileData, uploadUrl) { 
    if (fileData.size > 50000000) { 
     var fd = new FormData(); 
     fd.append('file', fileData); 
     var deferred = $q.defer(); 
     $http.post(uploadUrl, fd, { 
      transformRequest: angular.identity, 
      headers: { 'Content-Type': undefined } 
     }) 
     .then(function (result) { 
      deffered.resolve(result); 
     },function(error) { 
      deffered.reject(); 
     }); 
     return deferred.promise; 
    } 
    else { 
     return "Image size is more than 5MB"; 
    } 
    } 
    }]); 

欲了解更多信息,请检查下面的链接 -

https://docs.angularjs.org/api/ng/service/ $ Q https://thinkster.io/a-better-way-to-learn-angularjs/promises

相关问题