Я пытаюсь загрузить файлы разных типов и отправил эти файлы на сервер с помощью вызова 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 об этом.