2016-10-13 10 views
1

Ich versuche, eine Datei mit eckigen $ Ressource hochladen, ich bin in der Lage, die Api zu treffen, aber die Anfrage hat keine Datei. Ich habe die Lösung auch hier versucht: AngularJS: Upload files using $resource (solution)

Meinen Controller:

     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); 
          }); 

My Werksservice:

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; 
     } 

Antwort

1

die Formulardaten von $ resource Entfernen und Hinzufügen von im Körper gearbeitet.

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; 
     }