文件收集 API

本页列出的API用于文件收集栏目,所有操作必须有响应文件集的权限才能正常处理。

基础 URL: https://eln.iphy.ac.cn:61262/

认证方式: 在调用API时,在Header里要加入如下的信息。

Authorization: Bearer {AccessToken}

AccessToken 的获取方式,见“认证接口”

响应格式:

{
  "code": 0,        // 0=成功,非0=失败
  "msg": "",        // 提示消息
  ...               // 其它字段
}

文件集API

1. 获取文件集列表

获取用户有权限访问的所有文件集列表,以及用户的磁盘配额信息。

  • URL: /files/root
  • 方法: GET

请求参数:

响应字段:

字段 类型 说明
roots array 文件收集列表,每项包含 id, showtext, comm, power 
quota int 总配额(GB),0 表示不限制
used int 已用空间(字节)

文件集roots字段说明:

字段 类型 说明
id int 文件集ID
showtext string 文件集名称
comm string 文件集备注
power int 当前用户的权限,整数,使用与运算获取当前用户的权限
0b00000000000000000001;    //基础权限
0b00000000000000000010;    //文件编辑
0b00000000000000000100;    //文件删除
0b00000000000000001000;    //文件查看
0b00000000000000010000;    //文件创建
0b00000000000100000000;    //目录创建
0b00000000001000000000;    //目录编辑
0b00000000010000000000;    //目录删除
0b00010000000000000000;    //管理员
 

目录API

2. 创建/编辑目录

创建新目录或编辑目录。

  • URL: /files/filetype_edit
  • 方法: POST

请求参数:

参数 类型 必填 说明
id int 要编辑的目录 ID,不传或传 0 表示新建目录
parent int 父分类 ID,0 表示根目录下
root_id int 所属文件集 ID
showtext string 目录名称,1~100 字符,不能包含 `/:*?"<>
comm string 目录说明,最长 1000 字符

响应字段:

字段 类型 说明
id int 操作的目录 ID

3. 删除目录

删除指定的目录。

  • URL: /files/filetype_del
  • 方法: POST

请求参数:

参数 类型 必填 说明
id int 目录 ID
 

4. 移动目录

将目录移动到另一个父目录下。

  • URL: /files/filetype_move
  • 方法: POST

请求参数:

参数 类型 必填 说明
id int 要移动的目录 ID
target int 目标父目录 ID,0 表示移到根目录

约束: 不允许循环引用,源和目标必须在同一文件集下。


文件 API

5. 获取文件列表

获取指定目录下的文件列表,支持分页、排序和搜索。

  • URL: /files/files
  • 方法: GET

请求参数:

参数 类型 必填 说明
type_id int 目录 ID,为 0 时表示根目录
root_id int 文件集 ID,type_id 为 0 时必填
page int 页码,从 1 开始
page_size int 每页数量,最大为256,默认值20
order_by int 排序字段:0=按时间,1=按文件名
order_desc int 排序方向:1=降序,0=升序,默认 1
search string 搜索关键字

响应字段:

字段 类型 说明
files array 文件列表
count int 文件总数
quota int 总配额(GB)
used int 已用空间(字节)
root_type object 文件集权限信息,包含 admin, dir_create, dir_delete, dir_edit, file_create, file_delete, file_view, file_edit 等布尔权限字段
types array 目录树结构
users array 有权限的用户列表

6. 添加文件

首先通过文件上传接口上传文件,然后调用此接口将已上传到临时区的文件添加到指定目录中。

  • URL: /files/file_add
  • 方法: POST

请求参数:

参数 类型 必填 说明
file_id int 临时文件 ID(上传接口返回的ID)
type_id int 目标目录 ID,0 表示根目录下
root_id int 文件集 ID,type_id 为0时必填

7. 删除文件

批量删除文件。

  • URL: /files/file_del
  • 方法: POST

请求参数:

参数 类型 必填 说明
ids string(JSON) 文件 ID 数组 JSON 字符串,如 [1,2,3],至少 1 个

约束: 所有文件必须属于同一文件集。


8. 编辑文件信息

修改文件的名称和说明。

  • URL: /files/file_edit
  • 方法: POST

请求参数:

参数 类型 必填 说明
id int 文件 ID
filename string 新文件名,1~255 字符,扩展名不能修改
comm string 文件说明,最长 1000 字符

9. 获取文件 URL

获取文件的下载或预览 URL。

  • URL: /files/url
  • 方法: GET

请求参数:

参数 类型 必填 说明
id int 文件 ID
thumb int 是否获取缩略图:1=缩略图,0=原文件

响应字段:

字段 类型 说明
url string 文件路径
filename string 文件名
file_size int 文件大小(字节)

10. 移动文件

将文件移动到另一个目录。

  • URL: /files/move
  • 方法: POST

请求参数:

参数 类型 必填 说明
files string(JSON) 文件 ID 数组 JSON 字符串,如 [1,2,3],至少 1 个
target int 目标目录 ID,0 表示根目录下
root_id int 目标文件集 ID,target为0时必填

约束: 所有文件必须属于同一文件集,且不会被重名冲突阻止。


11. 复制文件

将文件复制到另一个目录。

  • URL: /files/copy
  • 方法: POST

请求参数:

参数 类型 必填 说明
files string(JSON) 文件 ID 数组 JSON 字符串,如 [1,2,3],至少 1 个
target int 目标目录 ID,0 表示根目录下
root_id int 目标文件集 ID,target为0时必填