Для работы с ресурсами файлового сервера выполните запросы с помощью 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».
См. также: