2016-07-19 4 views
1

Ich bekomme auf meinem Angular $ http.post-Aufruf keinen Rückruf an die erfolgreichen/fehlgeschlagenen Handler. Meine Serverseite ist .NET MVC Controller; Der Controller bekommt die Datei und funktioniert dort richtig, ich habe es durchgespielt, also scheint der POST-Aufruf selbst gut zu funktionieren. Es gibt nur einen Rückruf auf der Client-Javascript-Seite.

Ich habe eine grundlegende Scope-Funktion ...

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

Keine der Warnungen werden Aufspringen.

Server-Seite-Controller ...

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

Die Datei im "Upload_Data" Ordner hochgeladen und gespeichert zu werden.

Warum kein Rückruf auf der Client-Seite?

Antwort

1

im Bereich Sie rufen result.status, aber Ihr Parametername ist response .Fix den Namen und versuchen Sie vielleicht gibt es einen Syntaxfehler.

+0

ha! Danke für die extra Augen, Kyur. Das war das (dumme) Problem. Arbeite jetzt. – Riccarr