2016-11-27 4 views
0

Я пытаюсь загрузить форму с файлом изображения с угловой функцией $ http и используя multer на фоне для получения. Я знаю, как отправить форму непосредственно (без углового), я могу успешно загрузить его через:

<form method="post" enctype="multipart/form-data"> 
     <input type="file" name="avatar" /><br/> 
     <input type="submit" value="submit"/><br/> 
    </form> 

Таким образом, изображение будет req.file. Однако, когда я пытаюсь использовать угловую HTTP, чтобы загрузить его:

<form name="myForm" ng-model="formData" enctype="multipart/form-data"> 
     <input type="file" file-model="avatar" name="avatar" required/><br/> 
     <label class="item item-input"> 
      <button class="button button-block button-positive" ng-click="submit()" class="btn btn-primary btn-block">submit</button> 
     </label> 
     <label class="item item-input"> 
      <button class="button button-block button-dark" ng-click="home()" >back</button> 
     </label> 
    </form> 

ЯШ:

$scope.submit = function() { 
     var fd = new FormData(); 
     fd.append('avatar', $scope.avatar); 
     $http({ 
      url:'/avatar', 
      method: 'POST',    
      data: fd, 
      headers: { 
       'Content-Type': 'undefined' 
      }, 
      transformRequest: angular.identity  
     }).success(function(data,status){ 
      if(status == 200) { 
       window.location = '/home'; 
      } 

     }).error(function(status, data){ 
      window.location = '/avatar'; 
     }) 
    } 

поле req.file стать неопределенным. Итак, как загрузить изображение через угловой $ http?

ответ

Смежные вопросы