18. Звуковые файлы и вложения
Всё, что абонент слышит, лежит файлами. Файл может принадлежать сценарию — тогда он загружается из редактора и закрепляется сохранением. А может лежать в общих файловых разделах сервера, и тогда сценарий адресует его путём. Оба способа разбираются здесь.
Поле файла
Поле файла узнаётся по кнопке …: имя выбранного файла в строке, окно
выбора — за кнопкой.
Окно выбора
Две вкладки, и они соответствуют двум способам адресовать файл.
- Файл сценария
-
вложение, хранящееся вместе со сценарием. Загружается отсюда же.
- Вычисляемый путь
-
путь к файлу где-то в файловых разделах сервера. Собирается во время выполнения.
Список — это вложения этого сценария. У нового сценария он пуст, и это нормально: файлы появляются по мере загрузки.
Загрузка
Кнопка Загрузить новый открывает обычное окно выбора файла на вашей машине. Ограничения по расширению и типу задаёт свойство: где ждут звук, таблицу выбрать не дадут, и редактор скажет об этом до отправки.
Загруженный файл сразу становится выбранным. Слева от имени — треугольник: звуковые файлы (WAV и MP3) можно прослушать не выходя из окна. Справа — Удалить.
|
Загруженный файл живёт во временном хранилище до конца соединения. Закрепляет его на сервере только сохранение сценария. Если закрыть вкладку, не сохранив, файл придётся загружать заново — браузер об этом предупредит. Технический обрыв связи с переподключением безопасен: там сохранность обеспечивает сервер. Правило простое: загрузили файлы — сохраните сценарий. |
Если при сохранении какие-то файлы закрепить не удалось, редактор назовёт их поимённо и попросит сохранить ещё раз.
Удаление вложения
Удалить рядом с именем убирает файл из сценария. Перед этим редактор скажет, сколько компонентов на него ссылаются.
Удаление разрешено и при ненулевом счётчике — неиспользуемый файл серверу не мешает, а вот запретить нужное действие из-за счётчика было бы хуже. Но проверить, что именно останется без файла, стоит: поиск по имени файла покажет все места.
Вычисляемый путь
Так адресуют файлы, которые сценарию не принадлежат: общие записи, файлы из синхронизируемых разделов, временные файлы. Сюда же попадает случай, когда имя заранее неизвестно — зависит от языка абонента, от региона, от результата запроса.
Путь собирается из двух аргументов — Папка и Файл — и вычисляется в момент выполнения. Оба поля обычные аргументы, то есть могут быть выражением или шаблоном. Если весь путь задан в Файле, Папку оставьте пустой.
|
Абсолютные пути не используются, и сервер их запрещает. Платформа многосерверная: один и тот же раздел на разных серверах лежит по разным физическим путям. Вместо абсолютного пути пишется макро-путь — |
|
Проверить существование такого файла редактор не может — путь известен только на сервере и только во время вызова. Поэтому у компонентов воспроизведения есть ветка Переход, ошибка: её стоит заполнять всегда, когда путь вычисляется. |