Файл
Вопросы типа file позволяют респондентам загружать документы и другие файлы в качестве части ответов в опросе.
Тип вопроса file позволяет респондентам загружать любой файл с устройства — документы, таблицы, PDF или другие типы файлов. В отличие от image, audio и video, которые запускают специализированные инструменты захвата, file открывает универсальный выбор файлов.
Базовая спецификация XLSForm
| type | name | label |
|---|---|---|
| file | document | Пожалуйста, загрузите ваш документ |
Дополнительную информацию о стандартном типе вопроса file см. в спецификации XLSForm.
Применение
Вопросы типа file обычно используются для:
- Сбора подтверждающих документов (квитанции, сертификаты, контракты, отчёты)
- Загрузки отсканированных бумажных форм
- Сбора таблиц или экспорта данных из других систем
- Любых типов цифровых файлов, которые не покрывает image/audio/video
Формат данных
Загруженные файлы хранятся как двоичные вложения:
- Формат: сохраняется в исходном формате (PDF, XLSX, DOCX и т.д.)
- Именование:
{instanceID}-{fieldname}.{extension} - Хранение: загружается в папку медиафайлов сервера вместе с отправкой
- Доступ: загрузка из интерфейса управления отправками
Расширения rtSurvey
Допустимые типы файлов
Используйте столбец parameters для ограничения типов файлов:
| type | name | label | parameters |
|---|---|---|---|
| file | report | Загрузите отчёт об инспекции | accept=.pdf |
| file | spreadsheet | Загрузите файл данных | accept=.xlsx,.csv |
Параметр accept использует стандартный синтаксис расширений файлов (через запятую).
Рекомендации по размеру файла
rtSurvey не устанавливает жёсткого ограничения размера файла на уровне вопроса, но применяется ограничение загрузки сервера. Используйте hint для информирования перечислителя:
| type | name | label | hint |
|---|---|---|---|
| file | receipt | Загрузите квитанцию об оплате | Допустимо: PDF или изображение. Максимальный размер файла: 5 МБ |
Интеграция с файловой системой устройства и облачным хранилищем
На Android и iOS вопрос типа file открывает нативный выбор файлов устройства, который может включать доступ к:
- Локальному хранилищу устройства
- SD-карте (Android)
- iCloud Drive (iOS)
- Google Drive, Dropbox (если установлены)
В веб-браузере открывается стандартный диалог загрузки файлов.
Примеры использования
Обязательная загрузка PDF
| type | name | label | hint | required | required_message |
|---|---|---|---|---|---|
| file | signed_consent | Загрузите подписанную форму согласия | Только PDF, макс. 2 МБ | yes | Форма согласия обязательна |
Условная загрузка документа
| type | name | label | relevant |
|---|---|---|---|
| select_one yesno | has_land_title | Есть ли у домохозяйства право собственности на землю? | |
| file | land_title_doc | Загрузите фото или скан документа о праве собственности | ${has_land_title} = 'yes' |
Лучшие практики
- Используйте
acceptдля ограничения типов файлов — это предотвращает случайную загрузку неверных файлов. - Всегда указывайте требования к размеру и формату в столбце
hint. - Для фотографий и изображений используйте тип
image— он обеспечивает лучшее сжатие и единообразную обработку формата. - При проведении объёмных опросов с файловыми вложениями планируйте хранилище данных и пропускную способность для загрузки.
- Тестируйте выбор файлов на целевом типе устройства (Android, iOS, веб) перед развёртыванием.
Соображения по обработке данных
- Файлы хранятся в исходном формате; rtSurvey не конвертирует и не сжимает их.
- Анализируйте файлы после загрузки — rtSurvey не извлекает и не индексирует содержимое файлов.
- Большие файловые вложения значительно увеличивают время загрузки полного набора данных.
Ограничения
- Вопросы типа file не проверяют содержимое файлов — только проверка расширения файла через
acceptвыполняется на уровне интерфейса. - Очень большие файлы (100 МБ и более) могут превышать время ожидания при загрузке в условиях слабого соединения.
- Перечислители без интернета могут прикреплять файлы, но они не будут загружены до восстановления связи.
- Некоторые конфигурации устройств ограничивают доступ к определённым местам хранения (например, корпоративные политики MDM).