Функция ЗАГРУЗИТЬ_ФАЙЛ_СЕРВ
Для работы функции требуется наличие соединения с базой данных.
Функция ЗАГРУЗИТЬ_ФАЙЛ_СЕРВ (upload) позволяет загрузить файл из файловой системы клиента в файловую систему сервера. Функция работает только в контексте сетевой сессии соединения с базой данных.
ФУНКЦИЯ ЦЕЛОЕ: ЗАГРУЗИТЬ_ФАЙЛ_СЕРВ(СТРОКА: клиент_файл, сервер_дир, сервер_файл = "";
ПРОГРЕСС_ФАЙЛА: прогресс = НОЛЬ)
Параметры
- клиент_файл
- Путь к файлу в файловой системе клиента. Относительный путь откладывается от персональной рабочей папки клиента.
- сервер_дир
- Путь к целевой папке в файловой системе сервера. Относительный путь откладывается от папки "песочницы" пользователя на стороне сервера.
- сервер_файл
- Необязательный параметр. Альтернативное имя файла на стороне сервера. Если параметр не указан, то файл получает такое же имя файла и расширение, как на клиенте.
- прогресс
- Необязательный параметр. Ссылка на функцию, которая вызывается в ходе передачи данных на сервер и позволяет отменить копирование файла.
Возвращаемое значение
| 0 | – загрузка выполнена успешно. |
| -1 | – файл на стороне клиента не найден. |
| -3 | – передача файла была отменена. |
| -4 | – ошибка чтения файла на стороне клиента. |
| -5 | – ошибка записи файла на стороне сервера. |
| -7 | – запись в указанное место на сервере недоступна из-за политики безопасности сервера. |
| -8 | – функция поддерживается только в сетевом режиме. |
| -9 | – ошибка передачи данных по сети. |
Текстовое описание ошибки можно получить вызовом функции ПОСЛ_НФ_ОШИБКА.
Пример
Пример подразумевает, что на сервере разрешена запись вне песочницы в папку Update в общей рабочей папке.
ФУНКЦИЯ ЛОГИКА: ПрогрессЗагрузки(ЧИСЛО: байты, всего)
ОТЛАДКА("Загружено байт: " + СТР(байты) + " из " + СТР(всего))
РЕЗУЛЬТАТ = ДА
КОНЕЦ_ФУНКЦИИ
ВЫЧИСЛИТЬ
ПЕРЕМ СТРОКА: корень
ЕСЛИ АТРИБУТ_ОКРУЖЕНИЯ_СЕРВ("common_root_path", корень) ТО
ПЕРЕМ рез = ЗАГРУЗИТЬ_ФАЙЛ_СЕРВ("Update/ibw10-applications.exe",
ПУТЬ_СОЕДИНИТЬ(корень, "Update"),
"",
{ПрогрессЗагрузки})
ОТЛАДКА(рез)
ЕСЛИ рез <> 0 ТО
ОТЛАДКА(ПОСЛ_НФ_ОШИБКА)
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ
КОНЕЦ