Angular js загрузка нескольких файлов различного типа и проверки - PullRequest
0 голосов
/ 20 марта 2020

Я пытаюсь загрузить файлы разных типов и отправил эти файлы на сервер с помощью вызова API. В форме у меня ниже html структура. Раньше этот код поддерживал загрузку только одного файла, поэтому проверка выполнялась для одного входного файла.

Html

                       <div class="form-group col-md-12">
                        <label class="labelTooltipColorChange" for="myfiles">
                            Attach a screenshot 
                            <span class="validationError">{{RequiredFieldMessage}}</span>
                        </label>

                        <input id="myfiles" class="myfiles" name="myfiles" type="file" ng-model="templateFormData.AttributeAttachment">`<span class="validationError" ng-if="fileSizeMore">File Size should be max 100 MB.</span>
                        <span class="validationError" ng-if="invalidFile">File Type is invalid.</span>``
                    </div>

                    <div class="form-group col-md-12">
                        <label class="labelTooltipColorChange" for="myfiles">
                            Attach a text file
                            <span class="validationError">{{RequiredFieldMessage}}</span>
                        </label>

                        <input id="myfiles" class="myfiles" name="myfiles" type="file" ng-model="templateFormData.JsonAttachment">`<span class="validationError" ng-if="fileSizeMore">File Size should be max 100 MB.</span>
                        <span class="validationError" ng-if="invalidFile">File Type is invalid.</span>``
                    </div>

Контроллер :

var fileInput = $('.myfiles');
        var filename = $(".myfiles").val();
        var extension = filename.slice((filename.lastIndexOf(".") - 1 >>> 0) + 2);
        //To Check valid file type extension
        if (extension == "bat" || extension == "exe") {
            $scope.invalidFile = true;
            return;
        }
        var maxSize = 104857600;
        //To Check valid file size
        if (fileInput.get(0).files.length) {
            var fileSize = fileInput.get(0).files[0].size; // in bytes
            if (fileSize > maxSize) {
                $scope.fileSizeMore = true;
                return;

            } else {
                $scope.fileSizeMore = false;
            }
        }

Вышеупомянутая проверка выполняется при нажатии на кнопку Отправить. Я хочу проверить входные данные файла и показать ошибку на основе этого. Пожалуйста, помогите мне, я не знаю, как go об этом.

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