# JCS-pub API **跳转回README.md [中文](../README.md) [英文](../README_en.md)** ## 1 桶相关 ### 1.1 创建桶
| 请求 | ||
|---|---|---|
| POST | application/json | /v1/bucket/create |
| Query | 无 | |
| Body |
{
"userID": 1,
"name": "bkt1" //桶名
}
|
|
| 响应示例 | ||
{
"code": "OK",
"message": "",
"data": {
"bucket": {
"bucketID": 1, // 桶ID
"name": "bkt1" // 桶名
}
}
}
|
||
| 请求 | ||
|---|---|---|
| POST | multipart/form-data; boundary=xxxxxxx | /v1/object/upload |
| Query | 无 | |
| Body |
被boundary分隔的多个part,第一个part的name必须是info,格式如下: {
"packageID": 1, // PackageID,使用从创建Package接口返回的ID
"affinity": 1 // 文件优先上传到哪个存储空间,可以不填。
}
之后的每一个part都是一个文件,name为files,filename为文件路径,需要进行URL编码。 一个例子: POST /object/upload HTTP/1.1
User-Agent: PostmanRuntime/7.29.0
Accept: */*
Postman-Token: c12fa8b5-d902-46f3-b104-028effa0d531
Host: localhost:7890
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------818270992847011232305151
Content-Length: 1649
----------------------------818270992847011232305151
Content-Disposition: form-data; name="info"
{
"userID": 1,
"packageID": 1
}
----------------------------818270992847011232305151
Content-Disposition: form-data; name="files"; filename="test.txt"
Content-Type: text/plain
testdata
----------------------------818270992847011232305151
Content-Disposition: form-data; name="files"; filename="a%2Fb%2Ftest2.txt"
Content-Type: text/plain
testdata2
----------------------------818270992847011232305151--
|
|
| 响应示例 | ||
{
"code": "OK",
"message": "",
"data": {
"uploadeds": [
{
"objectID": 7,
"packageID": 1,
"path": "test.txt",
"size": "123456",
"fileHash": "xxxxxxxxxx",
"redundancy": {
"type": "none"
},
"createTime": "2024-11-05T11:06:28+08:00",
"updateTime": "2025-01-10T09:15:39.4452196+08:00"
},
{
"objectID": 8,
"packageID": 1,
"path": "a/b/test2.txt",
"size": "123456",
"fileHash": "xxxxxxxxxx",
"redundancy": {
"type": "none"
},
"createTime": "2024-11-05T11:06:28+08:00",
"updateTime": "2025-01-10T09:15:39.4452196+08:00"
}
]
}
}
|
||
| 请求 | ||
|---|---|---|
| GET | application/json | /v1/bucket/download |
| Query |
● objectID:int64 ● offset:int64,偏移量 ● length:int64,读取长度。不存在则读取整个对象 |
|
| Body | 无 | |
| 响应示例 | ||
如果请求成功,那么Content-Type将会是application/octet-stream,响应体就是文件数据。
如果失败,那么Content-Type将会是application/json,响应体格式如下:
{
"code": "OperationFailed",
"message": "xxxxxxxx",
"data": null
}
|
||