Методы работы с ресурсами файлового сервера

Для работы с ресурсами файлового сервера выполните запросы с помощью API-методов file и directory (перед выполнением запроса определите токен пользователя).

При необходимости для работы с локальным хранилищем данных вместо подстановки <название монтирования> используйте «local_storage».

Примечание. Запросы к ресурсам файлового сервера доступны только при настроенном подключении к папке на файловом сервере.

Запросы и примеры ответов:

curl '<IP-адрес или DNS-имя сервера>/api/v1/file/<название монтирования>/?file=sdf/<наименование файла>' -H "Authorization: bearer <токен пользователя>"

Пример ответа:

{

  "code": 403,

  "description": "У пользователя нет прав на совершение этого действия",

  "original_descriptions": []

}

curl -X PUT '<IP-адрес или DNS-имя сервера>/api/v1/file/<название монтирования>/?file=sdf/<наименование загружаемого файла>' -H "Authorization: bearer <токен пользователя>" --upload-file <относительный путь загружаемого файла> -H 'Content-Disposition: inline; filename="<наименование загружаемого файла>"'

Пример ответа:

204 Файл успешно закачан.

curl -X DELETE '<IP-адрес или DNS-имя сервера>/api/v1/file/<название монтирования>/?file=sdf/<наименование файла>' -H "Authorization: bearer <токен пользователя>"

Пример ответа:

{

  "code": 404,

  "description": "Не найдено",

  "original_description": []

}

curl '<IP-адрес или DNS-имя сервера>/api/v1/file/<название монтирования>/meta/?file=sdf/<наименование файла>' -H "Authorization: bearer <токен пользователя>"

Пример ответа:

{

 "stat": {

   "st_mode": 33188,

   "st_ino": 7502955,

   "st_dev": 2052,

   "st_nlink": 1,

   "st_uid": 1000,

   "st_gid": 1000,

   "st_size": 13181,

   "st_atime": 1527775186.7419834,

   "st_mtime": 1527775066.9299881,

   "st_ctime": 1527775066.9299881,

   "st_atime_ns": 1527775186741983500,

   "st_mtime_ns": 1527775066929988000,

   "st_ctime_ns": 1527775066929988000,

   "st_blocks": 32,

   "st_blksize": 4096,

   "st_rdev": 0

 }

}

curl '<IP-адрес или DNS-имя сервера>/api/v1/directory/<название монтирования>/?directory=<относительный путь запрашиваемой директории>' -H "Authorization: bearer <токен пользователя>"

Пример ответа в формате JSON:

{

    "type": "directory",

    "name": "sasha_test-reg3",

    "children": [

        {

            "type": "directory",

            "name": "dir1",

            "children": [

                {

                    "type": "directory",

                    "name": "dir1.1",

                    "children": [

                        {

                            "type": "file",

                            "name": "dok2.txt"

                        }

                    ]

                },

                {

                    "type": "directory",

                    "name": "dir1.2",

                    "children": []

                }

            ]

        },

        {

            "type": "directory",

            "name": "dir2",

            "children": []

        },

        {

            "type": "file",

            "name": "dok1.txt"

        }

    ]

}

curl '<IP-адрес или DNS-имя сервера>/api/v1/directory/<название монтирования>/?directory=<относительный путь запрашиваемой директории>&depth=<уровень глубины вложенности>' -H "Authorization: bearer <токен пользователя>"

Пример ответа с первым уровнем глубины вложенности в формате JSON:

{

    "type": "directory",

    "name": "sasha_test-reg3",

    "children": [

        {

            "type": "directory",

            "name": "dir1"

        },

        {

            "type": "directory",

            "name": "dir2"

        },

        {

            "type": "file",

            "name": "dok1.txt"

        }

    ]

}

curl -X PUT '<IP-адрес или DNS-имя сервера>/api/v1/directory/<название монтирования>/?directory=<относительный путь создаваемой директории>' -H "Authorization: bearer <токен пользователя>"

При успешном создании директории в ответ приходит пустой ответ со статусом «204».

curl -X DELETE '<IP-адрес или DNS-имя сервера>/api/v1/directory/<название монтирования>/?directory=<относительный путь удаляемой директории>' -H "Authorization: bearer <токен пользователя>"

При успешном удалении директории в ответ приходит пустой ответ со статусом «204».

См. также:

API сервера | Подключение к файловым серверам