新建文件夹和上传文件

该接口用于新建文件夹和上传文件,如果传入的 path/ 结尾,即为新建文件夹,否则为上传文件。

新建文件夹

POST

接口路径:http://matpool.com:30100/v1/fs

示例:

curl --request POST \
  # 注意 path 以 / 结尾
  --url 'http://matpool.com:30100/v1/fs?path=/data/' \
  --header 'Authorization: Bearer <YOUR_TOKEN>'
Required Name Value Description
✔︎ Authorization Bearer <token> 用户鉴权

Query

Required Name Example Description
✔︎ path /data/ 注意以 / 结束

注意:暂不支持递归创建目录,即如需创建 /data/task/ 目录,需要先创建 /data/ 目录,再创建 /data/task/ 目录。

Response

Normal

code = 0

示例:

{
  "code": 0,
  "msg": "",
  // 新建目录所在的目录的内容
  "infos": [
    {
      "name": "data",
      "size": 0,
      "createTime": {
        "seconds": 1560252217,
        "nanos": 452406567
      },
      "modTime": {
        "seconds": 1560252217,
        "nanos": 452406567
      },
      "ownerId": 0,
      "isDir": true
    },
    {
      "name": "picture.png",
      "size": 126187,
      "createTime": {
        "seconds": 1562642063,
        "nanos": 608753391
      },
      "modTime": {
        "seconds": 1562642063,
        "nanos": 608753391
      },
      "ownerId": 0,
      "isDir": false
    }
  ]
}

Exception

code = 1 || 7 || 16

参见 全局错误码

上传文件

该上传接口不适合上传大型文件,因为该上传接口是需要在一个请求中把文件上传完成的,大型文件上传容易出现 timeout 的问题,也可能因为网络问题中断,上传就需要从头进行。

如果要上传大型文件(如 >50M),建议使用分片上传接口

POST

接口路径:http://matpool.com:30100/v1/fs

示例:

curl --request POST \
  # 注意 path 不以 / 结尾
  --url 'http://matpool.com:30100/v1/fs?path=/data/<FILENAME>' \
  --header 'Authorization: Bearer <YOUR_TOKEN>' \
  # 以 formdata 的形式传文件
  --form file=@<PATH_TO_YOUR_FILE>

Header

Required Name Value Description
✔︎ Authorization Bearer <token> 用户鉴权

Query

Required Name Example Description
✔︎ path /data.txt 注意不以 / 结束

注意: 如果要传到子目录中,比如 /data/task/file.txt,在调用前需要保证目录 /data/task 是存在的,否则上传会失败。

Body(formdata)

Required Name type Example Description
✔︎ file file - 需要上传的文件

Response

Normal

code = 0

示例:
{
  "code": 0,
  "msg": "",
  // 上传的文件所在目录的内容
  "infos": [
    {
      "name": "data",
      "size": 0,
      "createTime": {
        "seconds": 1560252217,
        "nanos": 452406567
      },
      "modTime": {
        "seconds": 1560252217,
        "nanos": 452406567
      },
      "ownerId": 0,
      "isDir": true
    },
    {
      "name": "file.txt",
      "size": 126187,
      "createTime": {
        "seconds": 1562642063,
        "nanos": 608753391
      },
      "modTime": {
        "seconds": 1562642063,
        "nanos": 608753391
      },
      "ownerId": 0,
      "isDir": false
    }
  ]
}

Exception

code = 1 || 7 || 17

参见 全局错误码

上次修改: 2019-07-12 16:59