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

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

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

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

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

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

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

{
  "code": 403,
  "description": "У пользователя нет прав на совершение этого действия",
  "original_descriptions": []
}

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

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

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

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

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

{
  "code": 404,
  "description": "Не найдено",
  "original_description": []
}

curl '<IP-адрес или DNS-имя сервера>/api/v1/file/<название подключения>/meta/?file=<относительный путь к файлу на файловом сервере>/<наименование файла>' -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_ns": 1527775186741983500,
   "st_mtime_ns": 1527775066929988000,
   "st_ctime_ns": 1527775066929988000,
   "st_blocks": 32,
   "st_blksize": 4096,
   "st_rdev": 0
 }
}

Примечание. Если запрос информации о файле отправляется к локальному хранилищу данных или файловым системам S3, то в ответе будут содержаться некоторые пустые значения параметров из-за особенностей архитектуры.

Таблица возвращаемых параметров

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 сервера | Подключение к файловым серверам