2017-02-01 4 views
0

Привет Я разрабатываю один веб-api с помощью приложения angularjs. Я делаю модуль загрузки файлов. Я сталкиваюсь с проблемой при возврате объекта после завершения загрузки файла.Как вернуть данные из web-контроллера api с помощью angularjs?

Ниже мой код api для сохранения связанных файлов данных в базу данных, и если это succsfull, я возвращаю объект.

NCT_FileUpload obj = new NCT_FileUpload(); 
obj.file_path = uploadPath; 
obj.user_id =9; 

entityObject.NCT_FileUpload.Add(obj); 
int result = entityObject.SaveChanges(); 
if (result == 1) 
{ 
    return Request.CreateResponse<NCT_FileUpload>(HttpStatusCode.OK, obj); 
} 
else 
{ 
    return Request.CreateErrorResponse(HttpStatusCode.NotFound, "1"); 
} 

Это мой код angularjs.

$scope.uploadFiles = function() { 
    $scope.uploading = true; 
    uploadService.uploadFiles($scope) 
     // then() called when uploadFiles gets back 
     .then(function (data) { 
      // promise fulfilled 
      $scope.uploading = false; 
      if (data === '') { 
       alert("Done!!!") 
       $scope.formdata = new FormData(); 
       $scope.data = []; 
       $scope.countFiles = ''; 
       $scope.$apply; 
      } else { 
       alert("Shit, What happended up there!!! " + data); 
      } 
     }, function (error) { 
      $scope.uploading = false; 
      //Server Error 
      alert("Shit2, What happended up there!!! " + error); 
     } 
    ); 
}; 

Ниже мой код услуги в angularjs

if (typeof response.data === 'string') { 
    return response.data; 
} else { 
    return $q.reject(response.data); 
} 

Здесь я хочу, чтобы проверить с объектом, а не в виде строки.

Я могу сохранить данные на сервере, если я поставил ниже код в контроллере api, я могу отобразить его. Но я возвращаю объект, поэтому мои данные не будут пустыми. В настоящее время выполняется моя функция ошибок. Я хочу обработать объект, возвращенный из api в функции успеха. Есть какой-либо способ сделать это? Любая помощь будет оценена по достоинству. Спасибо.

return new HttpResponseMessage(HttpStatusCode.OK) ; 

ответ

0

Я думаю, что проблема здесь - это общий параметр. Изменить это:

return Request.CreateResponse<NCT_FileUpload>(HttpStatusCode.OK, obj); 

Для этого:

return Request.CreateResponse(HttpStatusCode.OK, obj); 
Смежные вопросы