Ошибка: v2.uploadFile не является функцией с AngularJS

#javascript #html #angularjs

Вопрос:

я работаю над этим со вчерашнего дня и не нашел решения, чтобы решить эту проблему …

Я работаю над системой для загрузки файла, она работает на моей спине с java и springboot(я тестировал с почтальоном), так что я близок к концу, но у меня ошибка !

Когда я нажимаю в своей форме на кнопку загрузки, я получаю ошибку: v2.Файл загрузки не является функцией: Нажмите, чтобы увидеть ошибку здесь

Моя функция $scope.postNewNews = () работает нормально, но моя функция $scope.uploadFile = () выдает ошибку …

Давайте начнем с моего кода:

Мой controller.js

 myApp.controller('wysiwygEditor', [
                '$scope',
                '$state',
                '$location',
                'apiJavaFactory',
                'transfertFactory',
                'ENV_VARS',
                function($scope, $state, $location, apiJavaFactory, transfertFactory) {

                tinyMCE.init({
                        selector: "text1"
                    })

                    $scope.tinymceOptions = {
                        plugins: 'link image code lists',
                        toolbar: 'undo redo | bold italic | numlist bullist |forecolor | outdent indent | link image | alignleft aligncenter alignright alignjustify | code ',
                        toolbar_location: 'bottom'
                        };

                $scope.model= "text";

                $scope.title = "";
                $scope.description = "";
                $scope.urlMiniature = "";


                $scope.uploadFile = function() {
                    apiJavaFactory.uploadFile($scope.uploadFile)
                };

                $scope.submitted = false;
                $scope.displayForm = true ;

                $scope.postNewNews = function() {
                        $scope.submitted = true;
                          if ($scope.postNews.$valid) {
                            apiJavaFactory.postNewNews($scope.portalNews)
                              .then (function success(response) {
                                  $scope.message = 'L'actualité à bien été ajouté';
                                  $scope.errorMessage = '';
                                  $scope.submitted = false;
                                  $scope.displayForm = false;
                              },
                              function error(response) {
                                  if (response.status == 409) {
                                    $scope.errorMessage = response.data.message;
                                  }
                                  else {
                                    $scope.errorMessage = 'Une erreur s'est produite pendant l'ajout';
                                  }
                                  $scope.message = '';
                            });
                          }
                    }
                }
            ]
        )

 

HTML

 <div ng-show = "displayForm == false">
    <div class="post-news-message-confirmation">
    <h1>L'actualité a bien été ajoutée !</h1>
    <p>Vous pouvez cliquer <a href="#/listeactu">ici</a> pour être redirigé à la liste des actualités !</p>
    <p>Ou bien vous pouvez cliquer <a href="#/accueil">ici</a> pour être redirigé à la page d'accueil de DataPedia !</p>
    </div>
</div>

<div ng-show = "displayForm == true" class="wrapper">
    <h1>Ajouter une actualité</h1>

    <form name="postNews" method="POST" novalidate
          ng-class="{'form-error':submitted}" ng-submit="postNewNews()">
        <md-content layout-gt-sm="row" layout-padding md-theme="docs-dark">
            <div class="wrapper">
                <md-input-container>
                    <label>Titre</label>
                    <div ng-messages="postNews.title.$error"
                         ng-show="submitted amp;amp; postNews.title.$invalid" class="error-messages">
                        <p ng-message="required">Le titre comporte une erreur</p>
                    </div>
                    <input required name="title" class="input-head-news" ng-model="portalNews.title" ng-minlength="5" ng-maxlength="150"/>
                    <p class="char-count-head-news">{{portalNews.title.length}}/150 caractères</p>
                </md-input-container>
                <br/>
                <md-input-container>
                    <label>Description</label>
                    <div ng-messages="postNews.description.$error"
                         ng-show="submitted amp;amp; postNews.description.$invalid" class="error-messages">
                        <p ng-message="required">La description comporte une erreur</p>
                    </div>
                    <input required name="description" class="input-head-news" ng-model="portalNews.description" ng-minlength="5" ng-maxlength="500"/>
                    <p class="char-count-head-news">{{portalNews.description.length}}/250 caractères</p>
                </md-input-container>
                <br/>
                <md-input-container>
                    <label>Url de la miniature</label>
                    <input required name="urlMiniature" class="input-head-news" ng-model="portalNews.urlMiniature"/>
                </md-input-container>
            </div>
        </md-content>
        <textarea class="text1" id="mytextarea" ng-model="portalNews.model" ui-tinymce="tinymceOptions"></textarea>
        <md-button class="md-raised md-primary btn-send-wysiwyg" type="submit">Envoyer l'actualité</md-button>

    </form>


    <h2>Ajouter des fichiers</h2>
    <md-content layout-gt-sm="row" layout-padding md-theme="docs-dark">

        <form name="uploadFile" enctype="multipart/form-data" method="POST" ng-submit="uploadFile()">

            Fichier à envoyer:
            <md-button class="md-raised md-primary"><input name="file" ng-model="file" type="file"/></md-button>
            <md-button class="md-raised md-primary" type="submit">Upload</md-button>
            <md-progress-linear md-mode="indeterminate"></md-progress-linear>
        </form>


    </md-content>
</div>
 

Если кто-нибудь может мне помочь 🙂