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