有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

功能描述

用于创建符号链接

接口说明

要求权限:
非 acl 鉴权:admin、space_admin 或 upload_file/upload_file_force/create_symlink/create_symlink_force
acl 鉴权:canUpload(当前文件夹可上传)
说明
非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考 生成访问令牌接口
acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考 角色授权模块
符号链接本身与文件的概念一致,可以通过删除文件、重命名或移动文件、复制文件等接口删除、重命名或移动或复制符号链接本身,而不会影响符号链接所指向的文件。
与标准文件系统略有不同,符号链接所指向的文件,不会因为重命名或移动而丢失指向。
当符号链接指向的文件被覆盖上传时,该符号链接将指向新上传的文件。
当符号链接所指向的文件被删除时,该符号链接本身也将被删除。
当符号链接指向的文件被移入回收站时,该符号链接将被同步删除,回收站的文件被恢复时,则同步恢复之前被删除的符号链接。
当符号链接指向的文件所在的目录被删除时,由于目录删除是异步操作,该符号链接的删除也将是异步的。
当符号链接指向的文件所在的目录被移入回收站时,该符号链接不受影响。
当回收站内的符号链接指向的文件被永久删除时,该符号链接将被永久删除。

请求

请求示例

PUT /api/v1/file/{LibraryId}/{SpaceId}/{FilePath}?conflict_resolution_strategy={ConflictResolutionStrategy}&access_token={AccessToken}&user_id={UserId}
请求参数:
LibraryId:媒体库 ID,必选参数。
SpaceId:空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数。
FilePath:完整文件路径,例如 foo/bar2/file.docx
ConflictResolutionStrategy:文件名冲突时的处理方式。
ask:冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码。
rename:冲突时自动重命名文件
overwrite:如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename。
AccessToken:访问令牌,必选参数。
UserId:用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅 生成访问令牌接口,可选参数。

请求体

application/json,指定指向的源文件路径,暂不支持创建指向目录或相簿的符号链接
请求体示例:
{
"linkTo": "foo/bar/file.docx"
}
请求体字段说明:
linkTo:符号链接指向的源文件绝对路径,必选参数。

响应

响应码

创建成功,返回 HTTP 200 OK。

响应体

application/json
响应体示例:
{ "path": [ "foo", "bar2", "file (1).docx" ] }
响应体字段说明:
path:字符串数组 或 null,如果是字符串数组则表示最终的符号链接路径,数组中的最后一个元素代表最终的文件名,其他元素代表每一级目录名,因为可能存在同名文件自动重命名,所以这里的最终路径可能不等同于移动或重命名时指定的目标路径;如果是 null 则表示目标路径的某级父级目录已被删除,该目标符号链接已经无法访问;