У меня есть директива, которая по существу заполняет несколько отдельных полей входного файла другими элементами формы HTML. Сам механизм реализован через автоматическое заполнение массива количеством элементов, которые выталкиваются/извлекаются по мере добавления дополнительных полей файла. Это само по себе управляет массивом с числовым списком, который в идеале должен изменять имя/идентификатор каждого элемента (это также не работает, наличие { в атрибутах вызывает синтаксическую ошибку, нарушающую сценарий).
<div ng-controller="MultiFileUpload">
<form ng-submit="file_upload_multiple()" novalidate>
<div class="upload_fields">
<fieldset ng-repeat="Item in FileUploadItems">
<input type="file" name="upload_file" id="upload_file_{{Item}}" ngf-select ng-model="filename_{{Item}}" ngf-max-size="2MB" required />
<input type="text" name="filename" id="filename_{{Item}}" required/>
<select name="filetype" id='filetype_{{Item}}' required>
<option label="" value=""></option>
<option label="Example Document 1" value="example_doc_1">Example 1</option>
<option label="Example Document 2" value="example_doc_2">Example 2</option>
</select>
</fieldset>
</div>
<button>Save Files</button>
</div>
Когда отправка запущена, мне не ясно, как лучше всего заставить скрипт на стороне клиента выполнять итерацию по всем доступным полям как отдельной группе. наличие вызова переменной шаблона в имени/идентификаторе является важным броском, и если я смогу реализовать решение, которое масштабируется вверх без этой бельма на глазу, это было бы здорово. У меня уже есть идея о том, как я в конечном итоге буду хранить все данные поля (посредством итерационных вызовов POST REST — я работаю с очень устаревшим API), но для того, чтобы перейти к этому шагу, необходимо определить лучший подход для обработки нескольких записи полей. Какие-либо предложения?
Я должен уточнить, я использую ng-form-upload, чтобы помочь в задаче взаимодействия с данными в полях ввода файла.