Данные формы Angularjs не привязываются на стороне сервера во время загрузки файла - PullRequest
0 голосов
/ 26 сентября 2018

Когда я пытаюсь загрузить файл на сервер, я получаю сообщение об ошибке: TypeError: $http(...).success is not a function(…)

Код изменения углового файла

 $scope.ChechFileValid = function (file) {
        debugger;
        var isValid = false;
        if ($scope.SelectedFileForUpload != null) {
            if ((file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') && file.size <= (512 * 1024)) {
                $scope.FileInvalidMessage = "";
                isValid = true;
            }
            else {
                $scope.FileInvalidMessage = "Selected file is Invalid. (only file type png, jpeg and gif and 512 kb size allowed)";
            }
        }
        else {
            $scope.FileInvalidMessage = "Image required!";
        }
        $scope.IsFileValid = isValid;
    };

Это кнопка отправки моего файла. Код

$scope.SaveFile = function () {
        $scope.IsFormSubmitted = true;
        $scope.Message = "";
        $scope.ChechFileValid($scope.SelectedFileForUpload);
        if ($scope.IsFormValid && $scope.IsFileValid) {
            FileUploadService.UploadFile($scope.SelectedFileForUpload, $scope.FileDescription).then(function (d) {
                alert(d.Message);
                ClearForm();
            }, function (e) {
                alert(e);
            });
        }
        else {
            $scope.Message = "All the fields are required.";
        }
    };

Это мой заводской код

 fac.UploadFile = function (file, description) {
        var formData = new FormData();
        formData.append("file", file);        
        formData.append("description", description);

        var defer = $q.defer();
      return  $http({
          url: 'http://localhost:59838/Api/Home/Sales',
          data: JSON.stringify(formData),

          headers: { 'content-type': 'application/json' },
          transformRequest: angular.identity,
          method: 'POST',

        })
        .success(function (d) {
            defer.resolve(d);
        })

Здесь я получаю сообщение об ошибке как angular.js: 15018 Возможно необработанное отклонение: {"data": {"Message": "Не найден ресурс HTTP, которыйсоответствует URI запроса 'http://localhost:59838/Api/Home/Sales'.","Message

1 Ответ

0 голосов
/ 26 сентября 2018

Вы получаете $ http (...). Success не является функцией (…) , поскольку метод " .success " с тех пор устарел, используйте " .then"вместо.Дополнительная информация по следующей ссылке Проверка уведомления об устаревании

Что касается второй ошибки, это может быть результатом неправильного URI, возможно, ваш маршрут ожидает параметр запроса, например: http://localhost:59838/Api/Home/Sales?XXXX, проверить полную ошибку для получения дополнительной информации

т.е.: (не был найден ресурс HTTP, соответствующий URI запроса ... "(параметр XXXX обязателен))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...