2016-07-19 2 views
1

Angular $ http.post 호출에서 성공/실패 처리기에 대한 콜백을받지 못했습니다. 내 서버 측은 .NET MVC 컨트롤러입니다. 컨트롤러가 파일을 가져 와서 거기에서 제대로 작동합니다. POST를 통해 디버깅 했으므로 POST 호출 자체가 정상적으로 작동하는 것 같습니다. 클라이언트 자바 스크립트 측에 콜백이 없다.

나는
$scope.uploadFile = function(files) { 
    var fd = new FormData(); 
    fd.append("file", files[0]); 

    $http.post('api/clubs/upload', fd, { 
     withCredentials: true, 
     headers: {'Content-Type': undefined }, 
     transformRequest: angular.identity 
    }) 
     .then(function (response) { 
      alert("Success:" + result.status); 
     }, function (response) { 
      alert("Failuer: " + result.status); 
     }); 
}; 

경고의 어느

이 진열되어 있습니다 ... 기본 범위의 기능을했습니다. 사이드 컨트롤러 인

서버 ...

string root = HttpContext.Current.Server.MapPath("~/Upload_Data"); 
     var provider = new MultipartFormDataStreamProvider(root); 

     try 
     { 
      // Read the form data. 
      await Request.Content.ReadAsMultipartAsync(provider); 

      // This illustrates how to get the file names. 
      foreach (MultipartFileData file in provider.FileData) 
      { 
       Trace.WriteLine(file.Headers.ContentDisposition.FileName); 
       Trace.WriteLine("Server file path: " + file.LocalFileName); 
      } 


      // Show all the key-value pairs. 
      foreach (var key in provider.FormData.AllKeys) 
      { 
       foreach (var val in provider.FormData.GetValues(key)) 
       { 
        Trace.WriteLine(string.Format("{0}: {1}", key, val)); 
       } 
      } 


      return Request.CreateResponse(HttpStatusCode.OK); 
     } 
     catch (System.Exception e) 
     { 
      return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e); 
     } 

파일

업로드하고 "Upload_Data"폴더에 저장지고 있습니다.

왜 클라이언트 측에서 콜백이 필요하지 않습니까?

답변

1

(범위 : result.status) 매개 변수 이름은 response입니다. 이름을 수정하고 구문 오류가있을 수 있습니다.

+0

하! 여분의 눈 세트를 가져 주셔서 감사합니다, 키르. 그것은 (바보) 문제였습니다. 지금 일하고있어. – Riccarr

관련 문제