Nextcloud, в котором происходит загрузка исходного файла

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

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

1 ответ

Общедоступный API для обработки файлов находится в \OCP\Files пространство имен, реализация находится в \OC\Files пространство имен ( https://github.com/nextcloud/server/tree/master/lib/private/Files).

Вместо того, чтобы модифицировать этот код, вы должны использовать функцию ловушек (никогда не используйте классы или функции в \OC\* пространство имен!): https://docs.nextcloud.com/server/12/developer_manual/app/hooks.html. Таким образом, вы можете выполнить свой собственный код при создании или обновлении файла и т. Д.

Я думаю, вам нужно postWrite крюк. Пример кода (не проверен):

\OC::$server->getRootFolder()->listen('\OC\Files', 'postWrite', function(\OCP\Files\Node $node) {
    $node->copy('my/path');
});
Другие вопросы по тегам