api.fileStorage Работа с файловыми хранилищами
Подробнее о работе с файловыми хранилищами см. Файловые хранилища.
Сжатие файлов в хранилищах и перемещение файлов между ними
-
api.fileStorage.compressAll(storageCode)
Сжатие всех файлов, ранее добавленных в указанное хранилище.
Параметр метода:
- storageCode — код файлового хранилища или null, если файлы хранятся в базе данных.
-
api.fileStorage.moveAll(from, to)
Перемещение всех ранее добавленных файлов из одного файлового хранилища в другое.
Не перемещаются файлы настройки, поврежденные файлы (если они есть в хранилище).
Параметры метода:
- from — код файлового хранилища, из которого переносятся файлы, или null, если файлы хранились в базе данных;
- to — код файлового хранилища, в которое перемещаются файлы, или null, если файлы переносятся в базу данных.
-
api.fileStorage.move(fileUuid, to)
Перемещение одного файла из одного файлового хранилища в другое.
Параметры метода:
- fileUuid — уникальный идентификатор файла, uuid;
- to — код файлового хранилища, в которое перемещается файл, или null, если файл переносится в базу данных.
Разделение и слияние файлов
-
api.fileStorage.expand()
Разделение файлов (операция по присваиванию контента и хеша каждому файлу, вместо ссылки на один и тот же хеш).
Метод вызывается только при отключенном слиянии файлов (параметр deduplication в конфигурации файловых хранилищ).
-
api.fileStorage.shrink()
Слияние файлов (операция по присваиванию ссылки на один и тот же хеш одинаковым файлам с последующим удалением дубликатов).
Чтение настроек файловых хранилищ из конфигурационного файла
-
api.fileStorage.reload()
Чтение настроек файловых хранилищ из конфигурационного файла.
Создание копии или временного файла
-
api.fileStorage.copyFile(uuid)
Копирование файла с заданным UUID.
Копируются параметры файла: название, описание, контент, mime-type, автор, размер файла, источник файла, атрибут связи файла с хранилищем (если хранилище указано), хранилище, признак сжат или не сжат.
Не копируются параметры файла: shareAlias, cacheControl.
Метод не копирует системные файлы, временные файлы, файлы-изображения из атрибутов типа "Текст RTF".
Параметр метода:
- uuid — uuid копируемого файла
Возвращает UUID скопированного файла
-
api.fileStorage.createTempFileFromOrigin(file)
Создание временного файла на основе переданного файла.
Копируются: название, описание, контент, mime-type, автор, размер файла, источник файла, связь файла (атрибут) если указано, хранилище, признак сжат /не сжат. Источник файла вычисляется произвольным образом.
Параметр метода:
- file — файл, на основе которого будет создан временный файл. Object
Возвращает ISDtObject временного файла.
Получение параметров файловых хранилищ
-
api.fileStorage.getActiveStorageSettings()
Получение параметров активного файлового хранилища.
-
api.fileStorage.getStorageSettings()
Получение списка с параметрами всех файловых хранилищ.
Методы интерфейса параметров файлового хранилища IStorageSettingsWrapper:
-
getType()
Получение типа файлового хранилища. Возможные значения: disk, s3, groovy.
-
getCode()
Получение кода файлового хранилища.
-
isActive()
Определение, является ли файловое хранилище текущим активным.
Пример 1. Получение параметров активного файлового хранилища:
def activeStorage = api.fileStorage.getActiveStorageSettings() def type = activeStorage.getType() def code = activeStorage.getCode()
Пример 2. Получение кодов активных файловых хранилищ с типом S3:
def codes = api.fileStorage.getStorageSettings()
.findAll { it.getType() == 's3' && it.isActive() }
.collect { it.getCode() }