2016-10-13 3 views
1

각도 $ 리소스를 사용하여 파일을 업로드하려고하는데 Api를 공격 할 수는 있지만 요청에 파일이 없습니다. 나뿐만 아니라 여기에 솔루션을 시도 : AngularJS: Upload files using $resource (solution)

내 컨트롤러 :

     var formData = new FormData(); 
         formData.append('file', $scope.file); 
         appService.manualDataUpload(formData) 
          .then(function (response) { 
           //do something here 
          }) 
          .catch(function (error) { 
           logger.error('An error occurred while uploading the file !', error); 
          }); 

내 공장 서비스 :

function manualDataUpload(formData) { 
      var /** @type {angular.Resource} */ 
      manualDataUploadResource = $resource(serviceBase + '/ManualDataUpload', formData, 
       { 
        save: { 
         method: 'POST', 
         transformRequest: angular.identity, 
         headers: { 
          'Content-Type': undefined 
         } 
        } 
       }); 

      return manualDataUploadResource 
       .save() 
       .$promise; 
     } 

답변

1

$ 자원에서 formData을 제거하고 일을 본문에 추가합니다.

function manualDataUpload(formData) { 
      var /** @type {angular.Resource} */ 
      manualDataUploadResource = $resource(serviceBase + '/ManualDataUpload', {}, 
       { 
        save: { 
         method: 'POST', 
         transformRequest: angular.identity, 
         headers: { 
          'Content-Type': undefined 
         } 
        } 
       }); 

      return manualDataUploadResource 
       .save(formData) 
       .$promise; 
     } 
관련 문제