Directus - создать файл в хуке

Я использую хуки для обновления некоторых данных, когда пользователь загружает файл.

Один из вариантов использования заключается в том, что мы хотим сгенерировать превью-изображение из входных данных, загрузить его и прикрепить к элементу.

https://docs.directus.io/extensions/hooks.html#creating-hooks

Как я могу получить доступ к API или создать/сохранить запись файла directus в хуках?


person klodoma    schedule 15.10.2020    source источник


Ответы (1)


Вы должны иметь возможность нормально использовать API внутри хука. Таким образом, вы можете использовать конечную точку «Создать файл» для загрузки изображения предварительного просмотра в пределах блокировки files.create.before (в версии 9).

https://github.com/directus/next/blob/main/docs/guides/extensions/api-hooks.md

Тем не менее, Directus автоматически создаст изображения для предварительного просмотра с помощью системы миниатюр... так что вам даже не нужно создавать этот пользовательский интерфейс.

https://docs.directus.io/guides/files.html#asset-middleware

person RANGER    schedule 15.10.2020
comment
Можете ли вы указать пример, как получить доступ к API в хуке? Я предполагаю, что есть что-то вроде: $container-›get('api') или что-то подобное, но я не смог его найти. ``` $app = \Directus\Application\Application::getInstance(); $container = $app->getContainer(); ``` - person klodoma; 16.10.2020
comment
Предварительные просмотры, которые я хочу создать, предназначены для файлов PDF, которые на данный момент не рассматриваются. - person klodoma; 16.10.2020
comment
Ах, да, миниатюры PDF пока не включены, но я считаю, что для них есть запрос на функцию. Что касается ловушек, вы можете расспросить сообщество, но документы для внутреннего доступа к данным еще не написаны для v9: github.com/directus/next/blob/main/docs/guides/extensions/ - person RANGER; 19.10.2020