/** * 腾讯云智能媒资托管服务API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { Configuration } from '../configuration'; import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; import { type RequestArgs, BaseAPI } from '../base'; import type { CheckFileDeletion200Response } from '../models'; import type { CompleteFileUpload200Response } from '../models'; import type { CompleteFileUploadRequest } from '../models'; import type { ConvertFile202Response } from '../models'; import type { ConvertFileRequest } from '../models'; import type { CopyFile200Response } from '../models'; import type { CopyFileRequest } from '../models'; import type { CreateSymlink200Response } from '../models'; import type { CreateSymlinkRequest } from '../models'; import type { CreateVirtualFile200Response } from '../models'; import type { CreateVirtualFileRequest } from '../models'; import type { DeleteFile200Response } from '../models'; import type { FormUploadFile200Response } from '../models'; import type { FormUploadFile201Response } from '../models'; import type { FormUploadFileRequest } from '../models'; import type { GetDeltaCursor200Response } from '../models'; import type { GetFileInfoByInode200Response } from '../models'; import type { GetFileUpload200Response } from '../models'; import type { InfoFile200Response } from '../models'; import type { MoveFile200Response } from '../models'; import type { MoveFileRequest } from '../models'; import type { MultipartUploadFile200Response } from '../models'; import type { MultipartUploadFile201Response } from '../models'; import type { MultipartUploadFileRequest } from '../models'; import type { PreviewZipFile200Response } from '../models'; import type { QueryDeltaLog200Response } from '../models'; import type { RenewMultipartUpload200Response } from '../models'; import type { SimpleUploadFile200Response } from '../models'; import type { SimpleUploadFile201Response } from '../models'; import type { SimpleUploadFileRequest } from '../models'; import type { UncompressFile202Response } from '../models'; import type { UncompressFileRequest } from '../models'; /** * FileApi - axios parameter creator */ export declare const FileApiAxiosParamCreator: (configuration?: Configuration) => { /** * 用于取消上传任务。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为删除接口,但因为删除的是上传任务信息,故仍需上传文件的相关权限) 如果上传任务为分块上传任务,那么该请求将同时放弃 COS 中的分块上传任务。 * @summary 取消上传任务 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数 * @param {AbortFileUploadUploadEnum} upload 上传任务标识 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ abortFileUpload: (libraryId: string, spaceId: string, confirmKey: string, upload: AbortFileUploadUploadEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于查询文件删除的原因,可能是用户主动删除或者 quota 超限删除。 要求权限:admin 或 space_admin * @summary 查询文件删除原因 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} inode 文件的 Inode * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileDeletion: (libraryId: string, spaceId: string, inode: string, accessToken?: string, librarySecret?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于检查文件状态 * @summary 检查文件状态 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileStatus: (libraryId: string, spaceId: string, filePath: string, historyId?: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于完成上传文件。 要求权限:admin、space_admin、upload_file、upload_file_force 或 confirm_upload。 在文件上传完成后,请务必及时调用该接口,否则文件将不能被正确存储;如果调用该接口时实际并未完成文件上传,将返回错误信息。 * @summary 完成上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数,指定为开始上传文件时响应体中的 confirmKey 字段的值 * @param {CompleteFileUploadConfirmEnum} confirm 完成上传标识 * @param {CompleteFileUploadConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件;不传则沿用开始上传时的设置 * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {CompleteFileUploadWithInodeEnum} [withInode] 是否返回 inode(文件目录 ID),0 或 1,默认 0 * @param {CompleteFileUploadWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {CompleteFileUploadRequest} [completeFileUploadRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ completeFileUpload: (libraryId: string, spaceId: string, confirmKey: string, confirm: CompleteFileUploadConfirmEnum, conflictResolutionStrategy?: CompleteFileUploadConflictResolutionStrategyEnum, contentCas?: string, accessToken?: string, librarySecret?: string, userId?: string, withInode?: CompleteFileUploadWithInodeEnum, withContentCas?: CompleteFileUploadWithContentCasEnum, completeFileUploadRequest?: CompleteFileUploadRequest, options?: RawAxiosRequestConfig) => Promise; /** * 用于转换文档格式,当前仅支持 doc/docx 转 pdf。 要求权限: 非 acl 鉴权:admin、space_admin acl 鉴权:canDownload(当前文件夹可下载)& canUpload(目标文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 文档转码 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {ConvertFileConvertEnum} convert 文档转码操作标识,固定值为1 * @param {ConvertFileRequest} convertFileRequest * @param {ConvertFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ convertFile: (libraryId: string, spaceId: string, filePath: string, convert: ConvertFileConvertEnum, convertFileRequest: ConvertFileRequest, conflictResolutionStrategy?: ConvertFileConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于复制文件。 要求权限: admin、space_admin 或 copy_file/copy_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件复制到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 复制文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {CopyFileRequest} copyFileRequest * @param {CopyFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {CopyFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {*} [options] Override http request option. * @throws {RequiredError} */ copyFile: (libraryId: string, spaceId: string, filePath: string, copyFileRequest: CopyFileRequest, conflictResolutionStrategy?: CopyFileConflictResolutionStrategyEnum, contentCas?: string, accessToken?: string, librarySecret?: string, userId?: string, withContentCas?: CopyFileWithContentCasEnum, options?: RawAxiosRequestConfig) => Promise; /** * 用于创建符号链接。 要求权限: 非 acl 鉴权:admin、space_admin 或 upload_file/upload_file_force/create_symlink/create_symlink_force acl 鉴权:canUpload(当前文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 符号链接本身与文件的概念一致,可以通过删除文件、重命名或移动文件、复制文件等接口删除、重命名或移动或复制符号链接本身,而不会影响符号链接所指向的文件; 与标准文件系统略有不同,符号链接所指向的文件,不会因为重命名或移动而丢失指向; 当符号链接指向的文件被覆盖上传时,该符号链接将指向新上传的文件。 * @summary 创建符号链接 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {CreateSymlinkRequest} createSymlinkRequest * @param {CreateSymlinkConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite覆盖已有文件,默认为 rename * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ createSymlink: (libraryId: string, spaceId: string, filePath: string, createSymlinkRequest: CreateSymlinkRequest, conflictResolutionStrategy?: CreateSymlinkConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于创建虚拟文件。虚拟文件不上传实际内容,仅在 SMH 中创建一条元数据记录。 要求权限: admin、space_admin 或 upload_file/upload_file_force/create_virtual。 补充说明: - 虚拟文件创建后,在目录列出、搜索等场景中与普通文件表现一致; - 虚拟文件不在 COS 上保存实体文件内容,仅在 SMH 文件系统中保存一条虚拟元数据记录; - 虚拟文件的存储配额占用取决于客户设置的 size 值,若 size 为 0 则不占用配额,若设置了 size 则按该值计入配额; - 虚拟文件可以通过删除文件、重命名或移动文件、复制文件等接口进行操作,行为与普通文件一致; - 虚拟文件不支持上传/下载实际内容、文档预览/转码,也不支持创建指向虚拟文件的符号链接; * @summary 创建虚拟文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {CreateVirtualFileVirtualFileEnum} virtualFile 固定标识,表示创建虚拟文件,无需赋值 * @param {CreateVirtualFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename: 冲突时自动重命名文件,overwrite: 覆盖已有文件,默认为 rename * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {CreateVirtualFileRequest} [createVirtualFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ createVirtualFile: (libraryId: string, spaceId: string, filePath: string, virtualFile: CreateVirtualFileVirtualFileEnum, conflictResolutionStrategy?: CreateVirtualFileConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, createVirtualFileRequest?: CreateVirtualFileRequest, options?: RawAxiosRequestConfig) => Promise; /** * 用于删除文件。 要求权限: admin、space_admin 或 delete_file(未开启回收站或 Permanent 为 0)/delete_file_permanent(开启回收站且 Permanent 为 1) 如果媒体库启用回收站功能,则该接口不会永久删除文件,而是将文件移入回收站,可通过相关接口永久删除或恢复回收站内的文件,或直接清空回收站。 * @summary 删除文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {DeleteFilePermanentEnum} [permanent] 当媒体库开启回收站时,则该参数指定将文件移入回收站还是永久删除文件,1: 永久删除,0: 移入回收站,默认为 0 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteFile: (libraryId: string, spaceId: string, filePath: string, permanent?: DeleteFilePermanentEnum, accessToken?: string, librarySecret?: string, userId?: string, contentCas?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于下载文件。 可以直接在使用文件的参数中指定该 URL,例如对于图片文件可直接在小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等中使用,该接口将自动 302 跳转到真实的图片 URL;视频和文件同理; * @summary 下载文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {DownloadFileContentDispositionEnum} [contentDisposition] 用于设置Content-Disposition响应头,支持 inline 或者 attachment,可选参数,不传默认为inline * @param {DownloadFilePurposeEnum} [purpose] 用途,可选参数,可以设置为download或者preview,用于决定是否将该文件加入最近使用文件列表中,如果设置为preview,则会将该文件加入最近使用文件列表中,否则不会加入 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {DownloadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {DownloadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadFile: (libraryId: string, spaceId: string, filePath: string, historyId?: string, contentDisposition?: DownloadFileContentDispositionEnum, purpose?: DownloadFilePurposeEnum, accessToken?: string, librarySecret?: string, userId?: string, trafficLimit?: number, contentCas?: string, withContentCas?: DownloadFileWithContentCasEnum, internalDomain?: DownloadFileInternalDomainEnum, options?: RawAxiosRequestConfig) => Promise; /** * 下载视频转码接口转码后的文件,扩展下载文件接口。 权限说明:同下载文件接口。 补充说明: - 若 m3u8 转封装未完成,则返回 FileConverting - 若转码未完成,则返回原始视频的下载链接 * @summary 视频下载 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {DownloadTranscodedVideoTranscodingTemplateIdEnum} transcodingTemplateId 转码模板(见视频转码接口),可支持的模板列表为:h264_360p(流畅)、h264_480p(低清)、h264_720p(高清)、h264_1080p(超清)、h264_2K、h264_4K * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadTranscodedVideo: (libraryId: string, spaceId: string, filePath: string, transcodingTemplateId: DownloadTranscodedVideoTranscodingTemplateIdEnum, accessToken?: string, librarySecret?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于开始表单上传文件(multipart/form-data)。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 调用该接口将返回一系列用于 form 表单上传(multipart/form-data 格式)和确认上传完成的参数,上传的目标 URL 为 https://{Domain}/,其中 Domain 为响应体中的 domain 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/; form 表单上传时还需要指定一系列额外的信息字段,这些字段的名和值包含在响应体中的 form 字段中,可以在 HTML form 表单中通过隐藏域或通过 JS 相关库、小程序 wx.uploadFile 等指定这些字段; form 表单中的文件字段,其表单字段名固定为 file,且必须作为表单中的最后一项; 在完成实际上传后,上传的目标 URL 将返回 HTTP 204 No Content,由于可能的跨域限制,建议直接通过相关接口的回调来判断是否上传完成,并且在上传完成后及时调用完成上传文件接口,确认上传结果; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始表单上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {FormUploadFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {number} [filesize] 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {{ [key: string]: string; }} [xSmhMeta] 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {boolean} [preferSameOrigin] 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 * @param {FormUploadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {FormUploadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {FormUploadFileRequest} [formUploadFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ formUploadFile: (libraryId: string, spaceId: string, filePath: string, conflictResolutionStrategy?: FormUploadFileConflictResolutionStrategyEnum, contentCas?: string, filesize?: number, accessToken?: string, librarySecret?: string, userId?: string, xSmhMeta?: { [key: string]: string; }, trafficLimit?: number, preferSameOrigin?: boolean, withContentCas?: FormUploadFileWithContentCasEnum, internalDomain?: FormUploadFileInternalDomainEnum, formUploadFileRequest?: FormUploadFileRequest, options?: RawAxiosRequestConfig) => Promise; /** * 用于获取照片/视频封面缩略图。 视频封面使用该视频的首帧图片; 针对照片或视频封面,优先使用人脸识别智能缩放裁剪为 {Size}px × {Size}px 大小,如果未识别到人脸则居中缩放裁剪为 {Size}px × {Size}px 大小,如果未指定 {Size} 参数则使用照片或视频封面原图,最后 302 跳转到对应的图片的 URL; 可以直接在使用图片的参数中指定该 URL,例如小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等,该接口将自动 302 跳转到真实的图片 URL; 如果文件不属于可预览的媒体类型,则会跳转至文件的下载链接。 * @summary 获取照片/视频封面缩略图 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {number} preview 预览标识,固定值为1 * @param {number} [size] 缩放大小,优先使用人脸识别智能缩放裁剪为 size×size,未识别到人脸则居中缩放裁剪为 size×size;不传则使用原图 * @param {number} [scale] 等比例缩放百分比(1-100),当未传 size 时生效 * @param {number} [widthSize] 缩放宽度,当未传 size 和 scale 时生效;未传高度时,高度按等比例缩放 * @param {number} [heightSize] 缩放高度,当未传 size 和 scale 时生效;未传宽度时,宽度按等比例缩放 * @param {number} [frameNumber] 帧数,针对 gif 的降帧处理 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCover: (libraryId: string, spaceId: string, filePath: string, preview: number, size?: number, scale?: number, widthSize?: number, heightSize?: number, frameNumber?: number, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于获取当前最新的增量游标(cursor),该 cursor 标记了当前变更日志的最新位置。调用方可保存此 cursor,后续作为增量查询变动日志接口的起始位置,从该位置开始拉取增量变更。 增量同步的使用流程: 1. 首次同步时,先调用本接口获取当前最新的 cursor(锚定变更日志位置); 2. 然后调用列出目录或文件接口全量拉取空间文件列表; 3. 全量拉取完成后,使用步骤 1 获取的 cursor 调用增量查询变动日志接口,补齐全量拉取期间产生的变更; 4. 后续定期使用保存的 cursor 调用增量查询变动日志接口进行增量同步; cursor 是一个不透明的字符串标记,代表增量同步的位置,调用方应将其作为黑盒保存和传递,无需解析其内容。 * @summary 获取增量游标 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getDeltaCursor: (libraryId: string, spaceId: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 根据文件 ID 查询文件信息 * @summary 根据文件ID查询文件信息 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} inode 文件ID * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {GetFileInfoByInodeWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileInfoByInode: (libraryId: string, spaceId: string, inode: string, accessToken?: string, librarySecret?: string, withContentCas?: GetFileInfoByInodeWithContentCasEnum, options?: RawAxiosRequestConfig) => Promise; /** * 用于获取文件上传任务状态。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为读接口,但因为读取的是上传任务信息,故仍需上传文件的相关权限) * @summary 获取文件上传任务状态 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数 * @param {GetFileUploadUploadEnum} upload 上传任务标识 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {GetFileUploadInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileUpload: (libraryId: string, spaceId: string, confirmKey: string, upload: GetFileUploadUploadEnum, accessToken?: string, librarySecret?: string, userId?: string, internalDomain?: GetFileUploadInternalDomainEnum, options?: RawAxiosRequestConfig) => Promise; /** * 用于获取文件下载链接和信息。 要求权限:无 * @summary 获取文件下载链接和信息 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {InfoFileInfoEnum} info 获取文件信息标识 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {InfoFileContentDispositionEnum} [contentDisposition] 用于设置Content-Disposition响应头,支持 inline 或者 attachment,可选参数,不传默认为inline * @param {InfoFilePurposeEnum} [purpose] 用途,可选参数,可以设置为download或者preview,用于决定是否将该文件加入最近使用文件列表中,如果设置为preview,则会将该文件加入最近使用文件列表中,否则不会加入 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {InfoFilePreCheckEnum} [preCheck] 是否只用于校验文件是否可预览和下载,设置该参数后返回结果中不包含cosUrl * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {InfoFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {InfoFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {InfoFileWithShortLinkEnum} [withShortLink] 0 或 1,可选参数,默认为 0。设置为 1 时,返回的 cosUrl(及 availableCosUrls 中的地址)将被替换为短链形式 * @param {number} [period] 整数(单位:秒),可选参数。用于指定返回的下载/预览链接(或短链)的有效期。取值范围为 [60, 7200],其中最大值为 2 小时(7200 秒),默认为 2 小时 * @param {InfoFilePreviewEnum} [preview] 0 或 1,可选参数,默认为 0。设置为 1 时,返回在线预览链接;默认为下载链接 * @param {InfoFileWithFavoriteStatusEnum} [withFavoriteStatus] 0 或 1,可选参数,默认为 0。设置为 1 时,返回结果中将包含当前用户对该文件的收藏状态 * @param {*} [options] Override http request option. * @throws {RequiredError} */ infoFile: (libraryId: string, spaceId: string, filePath: string, info: InfoFileInfoEnum, historyId?: string, contentDisposition?: InfoFileContentDispositionEnum, purpose?: InfoFilePurposeEnum, accessToken?: string, librarySecret?: string, userId?: string, trafficLimit?: number, preCheck?: InfoFilePreCheckEnum, contentCas?: string, withContentCas?: InfoFileWithContentCasEnum, internalDomain?: InfoFileInternalDomainEnum, withShortLink?: InfoFileWithShortLinkEnum, period?: number, preview?: InfoFilePreviewEnum, withFavoriteStatus?: InfoFileWithFavoriteStatusEnum, options?: RawAxiosRequestConfig) => Promise; /** * 用于重命名或移动文件。 要求权限: admin、space_admin 或 move_file/move_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 重命名或移动文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {MoveFileRequest} moveFileRequest * @param {MoveFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {MoveFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveFile: (libraryId: string, spaceId: string, filePath: string, moveFileRequest: MoveFileRequest, conflictResolutionStrategy?: MoveFileConflictResolutionStrategyEnum, contentCas?: string, accessToken?: string, librarySecret?: string, userId?: string, withContentCas?: MoveFileWithContentCasEnum, options?: RawAxiosRequestConfig) => Promise; /** * 用于开始分块上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 分块上传指使用通过 HTTP PUT 请求上传一个文件的分块,通过多次上传完成整个文件的上传,每次请求的请求体为文件内容的单个分块; 调用该接口将返回一系列用于分块上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path}?uploadId={UploadId}&partNumber={PartNumber},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,UploadId 为响应体中的 uploadId 字段,PartNumber 为从 1 开始的分块顺序,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4?uploadId=xxx&partNumber=1; 上传每个分块时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 与对象存储 COS 的分块上传不同,SMH 的分块上传无需记录 ETag,也无需在完成上传时传入这些 ETag,只需保证上传分块的连续即可,SMH 将在完成上传时自动执行这些操作; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始分块上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {MultipartUploadFileMultipartEnum} multipart 是否为分块上传标识,固定值为1 * @param {MultipartUploadFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {number} [filesize] 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {{ [key: string]: string; }} [xSmhMeta] 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {boolean} [preferSameOrigin] 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 * @param {MultipartUploadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {MultipartUploadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {MultipartUploadFileRequest} [multipartUploadFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ multipartUploadFile: (libraryId: string, spaceId: string, filePath: string, multipart: MultipartUploadFileMultipartEnum, conflictResolutionStrategy?: MultipartUploadFileConflictResolutionStrategyEnum, contentCas?: string, filesize?: number, accessToken?: string, librarySecret?: string, userId?: string, xSmhMeta?: { [key: string]: string; }, trafficLimit?: number, preferSameOrigin?: boolean, withContentCas?: MultipartUploadFileWithContentCasEnum, internalDomain?: MultipartUploadFileInternalDomainEnum, multipartUploadFileRequest?: MultipartUploadFileRequest, options?: RawAxiosRequestConfig) => Promise; /** * 用于打开在线文档编辑入口,返回包含【文档服务】SDK 的 HTML 页面,用户可在浏览器中直接编辑文档。 接口说明: - 支持的文档类型: - 文字:.doc/.docx/.wps/.dot/.wpt/.dotx/.docm/.dotm - 表格:.xls/.xlsx/.et/.xlt/.xltx/.xlsm/.xltm - 演示:.ppt/.pptx/.dps/.pps/.ppsx/.ppsm/.pptm/.potx/.potm/.dpt - PDF:.pdf - 媒体库必须开启文档编辑功能,否则返回 DocEditNotEnabled; - 文件大小不得超过 200MB; - 该接口返回 HTML 页面(非 JSON)。 * @summary 打开在线文档编辑入口 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {string} [lang] 语言偏好,可选参数,例如 zh_CN、en * @param {*} [options] Override http request option. * @throws {RequiredError} */ officeEdit: (libraryId: string, spaceId: string, filePath: string, accessToken?: string, librarySecret?: string, userId?: string, lang?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于获取 HTML 格式文档预览。 返回HTML或JPG格式的文档用于预览; 如果文件不属于可预览的文档类型,则会跳转至文件的下载链接。 * @summary 获取 HTML 格式文档预览 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {PreviewFilePreviewEnum} preview 文档预览标识,固定值为1 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {string} [type] 文档预览方式,如果设置为 pic 则以 jpg 格式预览文档首页,否则以 html 格式预览文档 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewFile: (libraryId: string, spaceId: string, filePath: string, preview: PreviewFilePreviewEnum, historyId?: string, type?: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 在不解压文件的情况下预览压缩包内的内容,包含文件数量、名称、文件大小、修改时间等,接口为同步请求方式。 要求权限: 非 acl 鉴权:admin、space_admin; acl 鉴权:canDownload(当前文件夹可下载)。 支持格式:zip、tar、gz、7zip、rar(不支持 apk,apk 仅支持解压不支持预览); 大小限制:zip/7zip 无大小限制,tar/gz/rar 需小于 128MB; 文件数限制:压缩包内文件数最多 1000 个,超出部分截断(isTruncated 为 true); 需要在 library 级别开启 enableFileUncompress 功能; FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 解压预览 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {PreviewZipFileZipPreviewEnum} zipPreview 解压预览标识,固定值为 1 * @param {PreviewZipFileFormatEnum} [format] 返回格式,可选值:flat(默认,扁平列表)、tree(树形结构);传入其他值返回 ParamInvalid 错误 * @param {string} [password] 加密压缩包的密码,可选参数,默认无密码;对非加密压缩包传入密码会被忽略,不影响预览结果 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewZipFile: (libraryId: string, spaceId: string, filePath: string, zipPreview: PreviewZipFileZipPreviewEnum, format?: PreviewZipFileFormatEnum, password?: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于根据增量游标(cursor)拉取文件系统的增量变更日志列表,返回从 cursor 位置之后发生的所有文件/目录变动事件。返回的新 cursor 可用于下次请求,实现连续的增量同步。 - 首次调用时传入通过获取增量游标接口获取的 cursor,后续传入上次返回的 cursor 进行连续拉取; - 当返回的 hasMore 为 true 时,应继续使用返回的 cursor 拉取后续数据,直到 hasMore 为 false; - 变更日志按数据库事务提交顺序有序返回,保证事件的全局一致性顺序。注意 eventTime 在并发场景下未必严格递增; - 变更日志记录了文件/目录的创建、修改、删除、移动、复制、放入回收站、从回收站恢复等事件; - cursor 的最大有效期为 180 天(可通过服务端配置调整),使用过期 cursor 时服务端会返回 HTTP 400 错误,错误码为 CursorExpired,此时应重新获取 cursor 并进行全量同步。 * @summary 查询增量变动日志 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} cursor 增量游标,首次调用传获取增量游标接口返回的 cursor,后续传上次返回的 cursor * @param {number} [limit] 用于分页时本次拉取的项目数限制,默认 100,最大 1000 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryDeltaLog: (libraryId: string, spaceId: string, cursor: string, limit?: number, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; /** * 用于分块上传任务续期。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 仅支持分块上传任务的续期。 * @summary 分块上传任务续期 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数,指定为开始上传文件时响应体中的 confirmKey 字段的值 * @param {RenewMultipartUploadRenewEnum} renew 续期标识 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {RenewMultipartUploadInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {*} [options] Override http request option. * @throws {RequiredError} */ renewMultipartUpload: (libraryId: string, spaceId: string, confirmKey: string, renew: RenewMultipartUploadRenewEnum, accessToken?: string, librarySecret?: string, userId?: string, trafficLimit?: number, internalDomain?: RenewMultipartUploadInternalDomainEnum, options?: RawAxiosRequestConfig) => Promise; /** * 用于开始简单上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 PUT 简单上传指使用 HTTP PUT 请求上传一个文件,请求体即为文件的内容; 调用该接口将返回一系列用于 PUT 简单上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4; PUT 简单上传时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始简单上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {SimpleUploadFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {number} [filesize] 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {{ [key: string]: string; }} [xSmhMeta] 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {boolean} [preferSameOrigin] 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 * @param {SimpleUploadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {SimpleUploadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {SimpleUploadFileRequest} [simpleUploadFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ simpleUploadFile: (libraryId: string, spaceId: string, filePath: string, conflictResolutionStrategy?: SimpleUploadFileConflictResolutionStrategyEnum, contentCas?: string, filesize?: number, accessToken?: string, librarySecret?: string, userId?: string, xSmhMeta?: { [key: string]: string; }, trafficLimit?: number, preferSameOrigin?: boolean, withContentCas?: SimpleUploadFileWithContentCasEnum, internalDomain?: SimpleUploadFileInternalDomainEnum, simpleUploadFileRequest?: SimpleUploadFileRequest, options?: RawAxiosRequestConfig) => Promise; /** * 将压缩包中的文件解压到 SMH 网盘的指定目录下,无需下载到本地。解压为异步任务,提交后返回 taskId,通过查询任务接口轮询进度。 要求权限: 非 acl 鉴权:需同时具备下载权限(admin、space_admin 或 read_only)和上传权限(admin、space_admin 或 upload_file); acl 鉴权:源文件所在文件夹需具备 canDownload(可下载),目标文件夹需具备 canUpload(可上传); 跨空间解压:仅 admin 权限用户可进行跨空间解压(即 targetSpaceId 与源文件所在 SpaceId 不同时);非 admin 用户仅允许同空间解压。 支持格式:zip、tar、gz、7zip、rar、apk; 需要在 library 级别开启 enableFileUncompress 功能; 解压为异步任务,提交后返回 taskId,前端通过任务查询接口轮询状态; 支持整包解压和选择性解压(通过 selectedFilePaths 参数指定需要解压的文件/文件夹); 支持跨空间解压(通过 targetSpaceId 参数指定目标空间); 支持加密压缩包解压(通过 password 参数传入密码); 支持文件名冲突处理策略(rename / overwrite / ask); FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 文件解压 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {UncompressFileUncompressEnum} uncompress 解压标识,固定值为 1 * @param {UncompressFileRequest} uncompressFileRequest * @param {UncompressFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,可选参数,默认为 rename:rename: 冲突时自动重命名文件(如 file(1).ext);overwrite: 冲突时覆盖已有文件(冲突目标为目录时返回错误);ask: 冲突时该文件解压失败,记入 failedItems 明细(整体任务返回 207 部分成功) * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ uncompressFile: (libraryId: string, spaceId: string, filePath: string, uncompress: UncompressFileUncompressEnum, uncompressFileRequest: UncompressFileRequest, conflictResolutionStrategy?: UncompressFileConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig) => Promise; }; /** * FileApi - functional programming interface */ export declare const FileApiFp: (configuration?: Configuration) => { /** * 用于取消上传任务。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为删除接口,但因为删除的是上传任务信息,故仍需上传文件的相关权限) 如果上传任务为分块上传任务,那么该请求将同时放弃 COS 中的分块上传任务。 * @summary 取消上传任务 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数 * @param {AbortFileUploadUploadEnum} upload 上传任务标识 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ abortFileUpload(libraryId: string, spaceId: string, confirmKey: string, upload: AbortFileUploadUploadEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于查询文件删除的原因,可能是用户主动删除或者 quota 超限删除。 要求权限:admin 或 space_admin * @summary 查询文件删除原因 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} inode 文件的 Inode * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileDeletion(libraryId: string, spaceId: string, inode: string, accessToken?: string, librarySecret?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于检查文件状态 * @summary 检查文件状态 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileStatus(libraryId: string, spaceId: string, filePath: string, historyId?: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于完成上传文件。 要求权限:admin、space_admin、upload_file、upload_file_force 或 confirm_upload。 在文件上传完成后,请务必及时调用该接口,否则文件将不能被正确存储;如果调用该接口时实际并未完成文件上传,将返回错误信息。 * @summary 完成上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数,指定为开始上传文件时响应体中的 confirmKey 字段的值 * @param {CompleteFileUploadConfirmEnum} confirm 完成上传标识 * @param {CompleteFileUploadConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件;不传则沿用开始上传时的设置 * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {CompleteFileUploadWithInodeEnum} [withInode] 是否返回 inode(文件目录 ID),0 或 1,默认 0 * @param {CompleteFileUploadWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {CompleteFileUploadRequest} [completeFileUploadRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ completeFileUpload(libraryId: string, spaceId: string, confirmKey: string, confirm: CompleteFileUploadConfirmEnum, conflictResolutionStrategy?: CompleteFileUploadConflictResolutionStrategyEnum, contentCas?: string, accessToken?: string, librarySecret?: string, userId?: string, withInode?: CompleteFileUploadWithInodeEnum, withContentCas?: CompleteFileUploadWithContentCasEnum, completeFileUploadRequest?: CompleteFileUploadRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于转换文档格式,当前仅支持 doc/docx 转 pdf。 要求权限: 非 acl 鉴权:admin、space_admin acl 鉴权:canDownload(当前文件夹可下载)& canUpload(目标文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 文档转码 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {ConvertFileConvertEnum} convert 文档转码操作标识,固定值为1 * @param {ConvertFileRequest} convertFileRequest * @param {ConvertFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ convertFile(libraryId: string, spaceId: string, filePath: string, convert: ConvertFileConvertEnum, convertFileRequest: ConvertFileRequest, conflictResolutionStrategy?: ConvertFileConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于复制文件。 要求权限: admin、space_admin 或 copy_file/copy_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件复制到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 复制文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {CopyFileRequest} copyFileRequest * @param {CopyFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {CopyFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {*} [options] Override http request option. * @throws {RequiredError} */ copyFile(libraryId: string, spaceId: string, filePath: string, copyFileRequest: CopyFileRequest, conflictResolutionStrategy?: CopyFileConflictResolutionStrategyEnum, contentCas?: string, accessToken?: string, librarySecret?: string, userId?: string, withContentCas?: CopyFileWithContentCasEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于创建符号链接。 要求权限: 非 acl 鉴权:admin、space_admin 或 upload_file/upload_file_force/create_symlink/create_symlink_force acl 鉴权:canUpload(当前文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 符号链接本身与文件的概念一致,可以通过删除文件、重命名或移动文件、复制文件等接口删除、重命名或移动或复制符号链接本身,而不会影响符号链接所指向的文件; 与标准文件系统略有不同,符号链接所指向的文件,不会因为重命名或移动而丢失指向; 当符号链接指向的文件被覆盖上传时,该符号链接将指向新上传的文件。 * @summary 创建符号链接 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {CreateSymlinkRequest} createSymlinkRequest * @param {CreateSymlinkConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite覆盖已有文件,默认为 rename * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ createSymlink(libraryId: string, spaceId: string, filePath: string, createSymlinkRequest: CreateSymlinkRequest, conflictResolutionStrategy?: CreateSymlinkConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于创建虚拟文件。虚拟文件不上传实际内容,仅在 SMH 中创建一条元数据记录。 要求权限: admin、space_admin 或 upload_file/upload_file_force/create_virtual。 补充说明: - 虚拟文件创建后,在目录列出、搜索等场景中与普通文件表现一致; - 虚拟文件不在 COS 上保存实体文件内容,仅在 SMH 文件系统中保存一条虚拟元数据记录; - 虚拟文件的存储配额占用取决于客户设置的 size 值,若 size 为 0 则不占用配额,若设置了 size 则按该值计入配额; - 虚拟文件可以通过删除文件、重命名或移动文件、复制文件等接口进行操作,行为与普通文件一致; - 虚拟文件不支持上传/下载实际内容、文档预览/转码,也不支持创建指向虚拟文件的符号链接; * @summary 创建虚拟文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {CreateVirtualFileVirtualFileEnum} virtualFile 固定标识,表示创建虚拟文件,无需赋值 * @param {CreateVirtualFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename: 冲突时自动重命名文件,overwrite: 覆盖已有文件,默认为 rename * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {CreateVirtualFileRequest} [createVirtualFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ createVirtualFile(libraryId: string, spaceId: string, filePath: string, virtualFile: CreateVirtualFileVirtualFileEnum, conflictResolutionStrategy?: CreateVirtualFileConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, createVirtualFileRequest?: CreateVirtualFileRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于删除文件。 要求权限: admin、space_admin 或 delete_file(未开启回收站或 Permanent 为 0)/delete_file_permanent(开启回收站且 Permanent 为 1) 如果媒体库启用回收站功能,则该接口不会永久删除文件,而是将文件移入回收站,可通过相关接口永久删除或恢复回收站内的文件,或直接清空回收站。 * @summary 删除文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {DeleteFilePermanentEnum} [permanent] 当媒体库开启回收站时,则该参数指定将文件移入回收站还是永久删除文件,1: 永久删除,0: 移入回收站,默认为 0 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteFile(libraryId: string, spaceId: string, filePath: string, permanent?: DeleteFilePermanentEnum, accessToken?: string, librarySecret?: string, userId?: string, contentCas?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于下载文件。 可以直接在使用文件的参数中指定该 URL,例如对于图片文件可直接在小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等中使用,该接口将自动 302 跳转到真实的图片 URL;视频和文件同理; * @summary 下载文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {DownloadFileContentDispositionEnum} [contentDisposition] 用于设置Content-Disposition响应头,支持 inline 或者 attachment,可选参数,不传默认为inline * @param {DownloadFilePurposeEnum} [purpose] 用途,可选参数,可以设置为download或者preview,用于决定是否将该文件加入最近使用文件列表中,如果设置为preview,则会将该文件加入最近使用文件列表中,否则不会加入 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {DownloadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {DownloadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadFile(libraryId: string, spaceId: string, filePath: string, historyId?: string, contentDisposition?: DownloadFileContentDispositionEnum, purpose?: DownloadFilePurposeEnum, accessToken?: string, librarySecret?: string, userId?: string, trafficLimit?: number, contentCas?: string, withContentCas?: DownloadFileWithContentCasEnum, internalDomain?: DownloadFileInternalDomainEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 下载视频转码接口转码后的文件,扩展下载文件接口。 权限说明:同下载文件接口。 补充说明: - 若 m3u8 转封装未完成,则返回 FileConverting - 若转码未完成,则返回原始视频的下载链接 * @summary 视频下载 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {DownloadTranscodedVideoTranscodingTemplateIdEnum} transcodingTemplateId 转码模板(见视频转码接口),可支持的模板列表为:h264_360p(流畅)、h264_480p(低清)、h264_720p(高清)、h264_1080p(超清)、h264_2K、h264_4K * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadTranscodedVideo(libraryId: string, spaceId: string, filePath: string, transcodingTemplateId: DownloadTranscodedVideoTranscodingTemplateIdEnum, accessToken?: string, librarySecret?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于开始表单上传文件(multipart/form-data)。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 调用该接口将返回一系列用于 form 表单上传(multipart/form-data 格式)和确认上传完成的参数,上传的目标 URL 为 https://{Domain}/,其中 Domain 为响应体中的 domain 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/; form 表单上传时还需要指定一系列额外的信息字段,这些字段的名和值包含在响应体中的 form 字段中,可以在 HTML form 表单中通过隐藏域或通过 JS 相关库、小程序 wx.uploadFile 等指定这些字段; form 表单中的文件字段,其表单字段名固定为 file,且必须作为表单中的最后一项; 在完成实际上传后,上传的目标 URL 将返回 HTTP 204 No Content,由于可能的跨域限制,建议直接通过相关接口的回调来判断是否上传完成,并且在上传完成后及时调用完成上传文件接口,确认上传结果; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始表单上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {FormUploadFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {number} [filesize] 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {{ [key: string]: string; }} [xSmhMeta] 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {boolean} [preferSameOrigin] 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 * @param {FormUploadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {FormUploadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {FormUploadFileRequest} [formUploadFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ formUploadFile(libraryId: string, spaceId: string, filePath: string, conflictResolutionStrategy?: FormUploadFileConflictResolutionStrategyEnum, contentCas?: string, filesize?: number, accessToken?: string, librarySecret?: string, userId?: string, xSmhMeta?: { [key: string]: string; }, trafficLimit?: number, preferSameOrigin?: boolean, withContentCas?: FormUploadFileWithContentCasEnum, internalDomain?: FormUploadFileInternalDomainEnum, formUploadFileRequest?: FormUploadFileRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于获取照片/视频封面缩略图。 视频封面使用该视频的首帧图片; 针对照片或视频封面,优先使用人脸识别智能缩放裁剪为 {Size}px × {Size}px 大小,如果未识别到人脸则居中缩放裁剪为 {Size}px × {Size}px 大小,如果未指定 {Size} 参数则使用照片或视频封面原图,最后 302 跳转到对应的图片的 URL; 可以直接在使用图片的参数中指定该 URL,例如小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等,该接口将自动 302 跳转到真实的图片 URL; 如果文件不属于可预览的媒体类型,则会跳转至文件的下载链接。 * @summary 获取照片/视频封面缩略图 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {number} preview 预览标识,固定值为1 * @param {number} [size] 缩放大小,优先使用人脸识别智能缩放裁剪为 size×size,未识别到人脸则居中缩放裁剪为 size×size;不传则使用原图 * @param {number} [scale] 等比例缩放百分比(1-100),当未传 size 时生效 * @param {number} [widthSize] 缩放宽度,当未传 size 和 scale 时生效;未传高度时,高度按等比例缩放 * @param {number} [heightSize] 缩放高度,当未传 size 和 scale 时生效;未传宽度时,宽度按等比例缩放 * @param {number} [frameNumber] 帧数,针对 gif 的降帧处理 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCover(libraryId: string, spaceId: string, filePath: string, preview: number, size?: number, scale?: number, widthSize?: number, heightSize?: number, frameNumber?: number, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于获取当前最新的增量游标(cursor),该 cursor 标记了当前变更日志的最新位置。调用方可保存此 cursor,后续作为增量查询变动日志接口的起始位置,从该位置开始拉取增量变更。 增量同步的使用流程: 1. 首次同步时,先调用本接口获取当前最新的 cursor(锚定变更日志位置); 2. 然后调用列出目录或文件接口全量拉取空间文件列表; 3. 全量拉取完成后,使用步骤 1 获取的 cursor 调用增量查询变动日志接口,补齐全量拉取期间产生的变更; 4. 后续定期使用保存的 cursor 调用增量查询变动日志接口进行增量同步; cursor 是一个不透明的字符串标记,代表增量同步的位置,调用方应将其作为黑盒保存和传递,无需解析其内容。 * @summary 获取增量游标 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getDeltaCursor(libraryId: string, spaceId: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 根据文件 ID 查询文件信息 * @summary 根据文件ID查询文件信息 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} inode 文件ID * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {GetFileInfoByInodeWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileInfoByInode(libraryId: string, spaceId: string, inode: string, accessToken?: string, librarySecret?: string, withContentCas?: GetFileInfoByInodeWithContentCasEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于获取文件上传任务状态。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为读接口,但因为读取的是上传任务信息,故仍需上传文件的相关权限) * @summary 获取文件上传任务状态 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数 * @param {GetFileUploadUploadEnum} upload 上传任务标识 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {GetFileUploadInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileUpload(libraryId: string, spaceId: string, confirmKey: string, upload: GetFileUploadUploadEnum, accessToken?: string, librarySecret?: string, userId?: string, internalDomain?: GetFileUploadInternalDomainEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于获取文件下载链接和信息。 要求权限:无 * @summary 获取文件下载链接和信息 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {InfoFileInfoEnum} info 获取文件信息标识 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {InfoFileContentDispositionEnum} [contentDisposition] 用于设置Content-Disposition响应头,支持 inline 或者 attachment,可选参数,不传默认为inline * @param {InfoFilePurposeEnum} [purpose] 用途,可选参数,可以设置为download或者preview,用于决定是否将该文件加入最近使用文件列表中,如果设置为preview,则会将该文件加入最近使用文件列表中,否则不会加入 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {InfoFilePreCheckEnum} [preCheck] 是否只用于校验文件是否可预览和下载,设置该参数后返回结果中不包含cosUrl * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {InfoFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {InfoFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {InfoFileWithShortLinkEnum} [withShortLink] 0 或 1,可选参数,默认为 0。设置为 1 时,返回的 cosUrl(及 availableCosUrls 中的地址)将被替换为短链形式 * @param {number} [period] 整数(单位:秒),可选参数。用于指定返回的下载/预览链接(或短链)的有效期。取值范围为 [60, 7200],其中最大值为 2 小时(7200 秒),默认为 2 小时 * @param {InfoFilePreviewEnum} [preview] 0 或 1,可选参数,默认为 0。设置为 1 时,返回在线预览链接;默认为下载链接 * @param {InfoFileWithFavoriteStatusEnum} [withFavoriteStatus] 0 或 1,可选参数,默认为 0。设置为 1 时,返回结果中将包含当前用户对该文件的收藏状态 * @param {*} [options] Override http request option. * @throws {RequiredError} */ infoFile(libraryId: string, spaceId: string, filePath: string, info: InfoFileInfoEnum, historyId?: string, contentDisposition?: InfoFileContentDispositionEnum, purpose?: InfoFilePurposeEnum, accessToken?: string, librarySecret?: string, userId?: string, trafficLimit?: number, preCheck?: InfoFilePreCheckEnum, contentCas?: string, withContentCas?: InfoFileWithContentCasEnum, internalDomain?: InfoFileInternalDomainEnum, withShortLink?: InfoFileWithShortLinkEnum, period?: number, preview?: InfoFilePreviewEnum, withFavoriteStatus?: InfoFileWithFavoriteStatusEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于重命名或移动文件。 要求权限: admin、space_admin 或 move_file/move_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 重命名或移动文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {MoveFileRequest} moveFileRequest * @param {MoveFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {MoveFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveFile(libraryId: string, spaceId: string, filePath: string, moveFileRequest: MoveFileRequest, conflictResolutionStrategy?: MoveFileConflictResolutionStrategyEnum, contentCas?: string, accessToken?: string, librarySecret?: string, userId?: string, withContentCas?: MoveFileWithContentCasEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于开始分块上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 分块上传指使用通过 HTTP PUT 请求上传一个文件的分块,通过多次上传完成整个文件的上传,每次请求的请求体为文件内容的单个分块; 调用该接口将返回一系列用于分块上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path}?uploadId={UploadId}&partNumber={PartNumber},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,UploadId 为响应体中的 uploadId 字段,PartNumber 为从 1 开始的分块顺序,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4?uploadId=xxx&partNumber=1; 上传每个分块时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 与对象存储 COS 的分块上传不同,SMH 的分块上传无需记录 ETag,也无需在完成上传时传入这些 ETag,只需保证上传分块的连续即可,SMH 将在完成上传时自动执行这些操作; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始分块上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {MultipartUploadFileMultipartEnum} multipart 是否为分块上传标识,固定值为1 * @param {MultipartUploadFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {number} [filesize] 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {{ [key: string]: string; }} [xSmhMeta] 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {boolean} [preferSameOrigin] 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 * @param {MultipartUploadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {MultipartUploadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {MultipartUploadFileRequest} [multipartUploadFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ multipartUploadFile(libraryId: string, spaceId: string, filePath: string, multipart: MultipartUploadFileMultipartEnum, conflictResolutionStrategy?: MultipartUploadFileConflictResolutionStrategyEnum, contentCas?: string, filesize?: number, accessToken?: string, librarySecret?: string, userId?: string, xSmhMeta?: { [key: string]: string; }, trafficLimit?: number, preferSameOrigin?: boolean, withContentCas?: MultipartUploadFileWithContentCasEnum, internalDomain?: MultipartUploadFileInternalDomainEnum, multipartUploadFileRequest?: MultipartUploadFileRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于打开在线文档编辑入口,返回包含【文档服务】SDK 的 HTML 页面,用户可在浏览器中直接编辑文档。 接口说明: - 支持的文档类型: - 文字:.doc/.docx/.wps/.dot/.wpt/.dotx/.docm/.dotm - 表格:.xls/.xlsx/.et/.xlt/.xltx/.xlsm/.xltm - 演示:.ppt/.pptx/.dps/.pps/.ppsx/.ppsm/.pptm/.potx/.potm/.dpt - PDF:.pdf - 媒体库必须开启文档编辑功能,否则返回 DocEditNotEnabled; - 文件大小不得超过 200MB; - 该接口返回 HTML 页面(非 JSON)。 * @summary 打开在线文档编辑入口 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {string} [lang] 语言偏好,可选参数,例如 zh_CN、en * @param {*} [options] Override http request option. * @throws {RequiredError} */ officeEdit(libraryId: string, spaceId: string, filePath: string, accessToken?: string, librarySecret?: string, userId?: string, lang?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于获取 HTML 格式文档预览。 返回HTML或JPG格式的文档用于预览; 如果文件不属于可预览的文档类型,则会跳转至文件的下载链接。 * @summary 获取 HTML 格式文档预览 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {PreviewFilePreviewEnum} preview 文档预览标识,固定值为1 * @param {string} [historyId] 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 * @param {string} [type] 文档预览方式,如果设置为 pic 则以 jpg 格式预览文档首页,否则以 html 格式预览文档 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewFile(libraryId: string, spaceId: string, filePath: string, preview: PreviewFilePreviewEnum, historyId?: string, type?: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 在不解压文件的情况下预览压缩包内的内容,包含文件数量、名称、文件大小、修改时间等,接口为同步请求方式。 要求权限: 非 acl 鉴权:admin、space_admin; acl 鉴权:canDownload(当前文件夹可下载)。 支持格式:zip、tar、gz、7zip、rar(不支持 apk,apk 仅支持解压不支持预览); 大小限制:zip/7zip 无大小限制,tar/gz/rar 需小于 128MB; 文件数限制:压缩包内文件数最多 1000 个,超出部分截断(isTruncated 为 true); 需要在 library 级别开启 enableFileUncompress 功能; FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 解压预览 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {PreviewZipFileZipPreviewEnum} zipPreview 解压预览标识,固定值为 1 * @param {PreviewZipFileFormatEnum} [format] 返回格式,可选值:flat(默认,扁平列表)、tree(树形结构);传入其他值返回 ParamInvalid 错误 * @param {string} [password] 加密压缩包的密码,可选参数,默认无密码;对非加密压缩包传入密码会被忽略,不影响预览结果 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewZipFile(libraryId: string, spaceId: string, filePath: string, zipPreview: PreviewZipFileZipPreviewEnum, format?: PreviewZipFileFormatEnum, password?: string, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于根据增量游标(cursor)拉取文件系统的增量变更日志列表,返回从 cursor 位置之后发生的所有文件/目录变动事件。返回的新 cursor 可用于下次请求,实现连续的增量同步。 - 首次调用时传入通过获取增量游标接口获取的 cursor,后续传入上次返回的 cursor 进行连续拉取; - 当返回的 hasMore 为 true 时,应继续使用返回的 cursor 拉取后续数据,直到 hasMore 为 false; - 变更日志按数据库事务提交顺序有序返回,保证事件的全局一致性顺序。注意 eventTime 在并发场景下未必严格递增; - 变更日志记录了文件/目录的创建、修改、删除、移动、复制、放入回收站、从回收站恢复等事件; - cursor 的最大有效期为 180 天(可通过服务端配置调整),使用过期 cursor 时服务端会返回 HTTP 400 错误,错误码为 CursorExpired,此时应重新获取 cursor 并进行全量同步。 * @summary 查询增量变动日志 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} cursor 增量游标,首次调用传获取增量游标接口返回的 cursor,后续传上次返回的 cursor * @param {number} [limit] 用于分页时本次拉取的项目数限制,默认 100,最大 1000 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryDeltaLog(libraryId: string, spaceId: string, cursor: string, limit?: number, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于分块上传任务续期。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 仅支持分块上传任务的续期。 * @summary 分块上传任务续期 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} confirmKey 确认参数,指定为开始上传文件时响应体中的 confirmKey 字段的值 * @param {RenewMultipartUploadRenewEnum} renew 续期标识 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {RenewMultipartUploadInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {*} [options] Override http request option. * @throws {RequiredError} */ renewMultipartUpload(libraryId: string, spaceId: string, confirmKey: string, renew: RenewMultipartUploadRenewEnum, accessToken?: string, librarySecret?: string, userId?: string, trafficLimit?: number, internalDomain?: RenewMultipartUploadInternalDomainEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 用于开始简单上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 PUT 简单上传指使用 HTTP PUT 请求上传一个文件,请求体即为文件的内容; 调用该接口将返回一系列用于 PUT 简单上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4; PUT 简单上传时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始简单上传文件 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {SimpleUploadFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename * @param {string} [contentCas] 文件内容的Cas标识,可选参数 * @param {number} [filesize] 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {{ [key: string]: string; }} [xSmhMeta] 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 * @param {number} [trafficLimit] 单链接下载限速,范围100KB/s-100MB/s,单位B * @param {boolean} [preferSameOrigin] 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 * @param {SimpleUploadFileWithContentCasEnum} [withContentCas] 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 * @param {SimpleUploadFileInternalDomainEnum} [internalDomain] 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 * @param {SimpleUploadFileRequest} [simpleUploadFileRequest] * @param {*} [options] Override http request option. * @throws {RequiredError} */ simpleUploadFile(libraryId: string, spaceId: string, filePath: string, conflictResolutionStrategy?: SimpleUploadFileConflictResolutionStrategyEnum, contentCas?: string, filesize?: number, accessToken?: string, librarySecret?: string, userId?: string, xSmhMeta?: { [key: string]: string; }, trafficLimit?: number, preferSameOrigin?: boolean, withContentCas?: SimpleUploadFileWithContentCasEnum, internalDomain?: SimpleUploadFileInternalDomainEnum, simpleUploadFileRequest?: SimpleUploadFileRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; /** * 将压缩包中的文件解压到 SMH 网盘的指定目录下,无需下载到本地。解压为异步任务,提交后返回 taskId,通过查询任务接口轮询进度。 要求权限: 非 acl 鉴权:需同时具备下载权限(admin、space_admin 或 read_only)和上传权限(admin、space_admin 或 upload_file); acl 鉴权:源文件所在文件夹需具备 canDownload(可下载),目标文件夹需具备 canUpload(可上传); 跨空间解压:仅 admin 权限用户可进行跨空间解压(即 targetSpaceId 与源文件所在 SpaceId 不同时);非 admin 用户仅允许同空间解压。 支持格式:zip、tar、gz、7zip、rar、apk; 需要在 library 级别开启 enableFileUncompress 功能; 解压为异步任务,提交后返回 taskId,前端通过任务查询接口轮询状态; 支持整包解压和选择性解压(通过 selectedFilePaths 参数指定需要解压的文件/文件夹); 支持跨空间解压(通过 targetSpaceId 参数指定目标空间); 支持加密压缩包解压(通过 password 参数传入密码); 支持文件名冲突处理策略(rename / overwrite / ask); FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 文件解压 * @param {string} libraryId 媒体库 ID,必选参数 * @param {string} spaceId 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 * @param {string} filePath 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 * @param {UncompressFileUncompressEnum} uncompress 解压标识,固定值为 1 * @param {UncompressFileRequest} uncompressFileRequest * @param {UncompressFileConflictResolutionStrategyEnum} [conflictResolutionStrategy] 文件名冲突时的处理方式,可选参数,默认为 rename:rename: 冲突时自动重命名文件(如 file(1).ext);overwrite: 冲突时覆盖已有文件(冲突目标为目录时返回错误);ask: 冲突时该文件解压失败,记入 failedItems 明细(整体任务返回 207 部分成功) * @param {string} [accessToken] 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 * @param {string} [librarySecret] 访问媒体库密钥,可选参数 * @param {string} [userId] 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ uncompressFile(libraryId: string, spaceId: string, filePath: string, uncompress: UncompressFileUncompressEnum, uncompressFileRequest: UncompressFileRequest, conflictResolutionStrategy?: UncompressFileConflictResolutionStrategyEnum, accessToken?: string, librarySecret?: string, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; }; /** * FileApi - factory interface */ export declare const FileApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * 用于取消上传任务。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为删除接口,但因为删除的是上传任务信息,故仍需上传文件的相关权限) 如果上传任务为分块上传任务,那么该请求将同时放弃 COS 中的分块上传任务。 * @summary 取消上传任务 * @param {FileApiAbortFileUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ abortFileUpload(requestParameters: FileApiAbortFileUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于查询文件删除的原因,可能是用户主动删除或者 quota 超限删除。 要求权限:admin 或 space_admin * @summary 查询文件删除原因 * @param {FileApiCheckFileDeletionRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileDeletion(requestParameters: FileApiCheckFileDeletionRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于检查文件状态 * @summary 检查文件状态 * @param {FileApiCheckFileStatusRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileStatus(requestParameters: FileApiCheckFileStatusRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于完成上传文件。 要求权限:admin、space_admin、upload_file、upload_file_force 或 confirm_upload。 在文件上传完成后,请务必及时调用该接口,否则文件将不能被正确存储;如果调用该接口时实际并未完成文件上传,将返回错误信息。 * @summary 完成上传文件 * @param {FileApiCompleteFileUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ completeFileUpload(requestParameters: FileApiCompleteFileUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于转换文档格式,当前仅支持 doc/docx 转 pdf。 要求权限: 非 acl 鉴权:admin、space_admin acl 鉴权:canDownload(当前文件夹可下载)& canUpload(目标文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 文档转码 * @param {FileApiConvertFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ convertFile(requestParameters: FileApiConvertFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于复制文件。 要求权限: admin、space_admin 或 copy_file/copy_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件复制到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 复制文件 * @param {FileApiCopyFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ copyFile(requestParameters: FileApiCopyFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于创建符号链接。 要求权限: 非 acl 鉴权:admin、space_admin 或 upload_file/upload_file_force/create_symlink/create_symlink_force acl 鉴权:canUpload(当前文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 符号链接本身与文件的概念一致,可以通过删除文件、重命名或移动文件、复制文件等接口删除、重命名或移动或复制符号链接本身,而不会影响符号链接所指向的文件; 与标准文件系统略有不同,符号链接所指向的文件,不会因为重命名或移动而丢失指向; 当符号链接指向的文件被覆盖上传时,该符号链接将指向新上传的文件。 * @summary 创建符号链接 * @param {FileApiCreateSymlinkRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ createSymlink(requestParameters: FileApiCreateSymlinkRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于创建虚拟文件。虚拟文件不上传实际内容,仅在 SMH 中创建一条元数据记录。 要求权限: admin、space_admin 或 upload_file/upload_file_force/create_virtual。 补充说明: - 虚拟文件创建后,在目录列出、搜索等场景中与普通文件表现一致; - 虚拟文件不在 COS 上保存实体文件内容,仅在 SMH 文件系统中保存一条虚拟元数据记录; - 虚拟文件的存储配额占用取决于客户设置的 size 值,若 size 为 0 则不占用配额,若设置了 size 则按该值计入配额; - 虚拟文件可以通过删除文件、重命名或移动文件、复制文件等接口进行操作,行为与普通文件一致; - 虚拟文件不支持上传/下载实际内容、文档预览/转码,也不支持创建指向虚拟文件的符号链接; * @summary 创建虚拟文件 * @param {FileApiCreateVirtualFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ createVirtualFile(requestParameters: FileApiCreateVirtualFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于删除文件。 要求权限: admin、space_admin 或 delete_file(未开启回收站或 Permanent 为 0)/delete_file_permanent(开启回收站且 Permanent 为 1) 如果媒体库启用回收站功能,则该接口不会永久删除文件,而是将文件移入回收站,可通过相关接口永久删除或恢复回收站内的文件,或直接清空回收站。 * @summary 删除文件 * @param {FileApiDeleteFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteFile(requestParameters: FileApiDeleteFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于下载文件。 可以直接在使用文件的参数中指定该 URL,例如对于图片文件可直接在小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等中使用,该接口将自动 302 跳转到真实的图片 URL;视频和文件同理; * @summary 下载文件 * @param {FileApiDownloadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadFile(requestParameters: FileApiDownloadFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 下载视频转码接口转码后的文件,扩展下载文件接口。 权限说明:同下载文件接口。 补充说明: - 若 m3u8 转封装未完成,则返回 FileConverting - 若转码未完成,则返回原始视频的下载链接 * @summary 视频下载 * @param {FileApiDownloadTranscodedVideoRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadTranscodedVideo(requestParameters: FileApiDownloadTranscodedVideoRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于开始表单上传文件(multipart/form-data)。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 调用该接口将返回一系列用于 form 表单上传(multipart/form-data 格式)和确认上传完成的参数,上传的目标 URL 为 https://{Domain}/,其中 Domain 为响应体中的 domain 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/; form 表单上传时还需要指定一系列额外的信息字段,这些字段的名和值包含在响应体中的 form 字段中,可以在 HTML form 表单中通过隐藏域或通过 JS 相关库、小程序 wx.uploadFile 等指定这些字段; form 表单中的文件字段,其表单字段名固定为 file,且必须作为表单中的最后一项; 在完成实际上传后,上传的目标 URL 将返回 HTTP 204 No Content,由于可能的跨域限制,建议直接通过相关接口的回调来判断是否上传完成,并且在上传完成后及时调用完成上传文件接口,确认上传结果; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始表单上传文件 * @param {FileApiFormUploadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ formUploadFile(requestParameters: FileApiFormUploadFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于获取照片/视频封面缩略图。 视频封面使用该视频的首帧图片; 针对照片或视频封面,优先使用人脸识别智能缩放裁剪为 {Size}px × {Size}px 大小,如果未识别到人脸则居中缩放裁剪为 {Size}px × {Size}px 大小,如果未指定 {Size} 参数则使用照片或视频封面原图,最后 302 跳转到对应的图片的 URL; 可以直接在使用图片的参数中指定该 URL,例如小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等,该接口将自动 302 跳转到真实的图片 URL; 如果文件不属于可预览的媒体类型,则会跳转至文件的下载链接。 * @summary 获取照片/视频封面缩略图 * @param {FileApiGetCoverRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCover(requestParameters: FileApiGetCoverRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于获取当前最新的增量游标(cursor),该 cursor 标记了当前变更日志的最新位置。调用方可保存此 cursor,后续作为增量查询变动日志接口的起始位置,从该位置开始拉取增量变更。 增量同步的使用流程: 1. 首次同步时,先调用本接口获取当前最新的 cursor(锚定变更日志位置); 2. 然后调用列出目录或文件接口全量拉取空间文件列表; 3. 全量拉取完成后,使用步骤 1 获取的 cursor 调用增量查询变动日志接口,补齐全量拉取期间产生的变更; 4. 后续定期使用保存的 cursor 调用增量查询变动日志接口进行增量同步; cursor 是一个不透明的字符串标记,代表增量同步的位置,调用方应将其作为黑盒保存和传递,无需解析其内容。 * @summary 获取增量游标 * @param {FileApiGetDeltaCursorRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getDeltaCursor(requestParameters: FileApiGetDeltaCursorRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 根据文件 ID 查询文件信息 * @summary 根据文件ID查询文件信息 * @param {FileApiGetFileInfoByInodeRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileInfoByInode(requestParameters: FileApiGetFileInfoByInodeRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于获取文件上传任务状态。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为读接口,但因为读取的是上传任务信息,故仍需上传文件的相关权限) * @summary 获取文件上传任务状态 * @param {FileApiGetFileUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileUpload(requestParameters: FileApiGetFileUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于获取文件下载链接和信息。 要求权限:无 * @summary 获取文件下载链接和信息 * @param {FileApiInfoFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ infoFile(requestParameters: FileApiInfoFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于重命名或移动文件。 要求权限: admin、space_admin 或 move_file/move_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 重命名或移动文件 * @param {FileApiMoveFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveFile(requestParameters: FileApiMoveFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于开始分块上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 分块上传指使用通过 HTTP PUT 请求上传一个文件的分块,通过多次上传完成整个文件的上传,每次请求的请求体为文件内容的单个分块; 调用该接口将返回一系列用于分块上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path}?uploadId={UploadId}&partNumber={PartNumber},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,UploadId 为响应体中的 uploadId 字段,PartNumber 为从 1 开始的分块顺序,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4?uploadId=xxx&partNumber=1; 上传每个分块时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 与对象存储 COS 的分块上传不同,SMH 的分块上传无需记录 ETag,也无需在完成上传时传入这些 ETag,只需保证上传分块的连续即可,SMH 将在完成上传时自动执行这些操作; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始分块上传文件 * @param {FileApiMultipartUploadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ multipartUploadFile(requestParameters: FileApiMultipartUploadFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于打开在线文档编辑入口,返回包含【文档服务】SDK 的 HTML 页面,用户可在浏览器中直接编辑文档。 接口说明: - 支持的文档类型: - 文字:.doc/.docx/.wps/.dot/.wpt/.dotx/.docm/.dotm - 表格:.xls/.xlsx/.et/.xlt/.xltx/.xlsm/.xltm - 演示:.ppt/.pptx/.dps/.pps/.ppsx/.ppsm/.pptm/.potx/.potm/.dpt - PDF:.pdf - 媒体库必须开启文档编辑功能,否则返回 DocEditNotEnabled; - 文件大小不得超过 200MB; - 该接口返回 HTML 页面(非 JSON)。 * @summary 打开在线文档编辑入口 * @param {FileApiOfficeEditRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ officeEdit(requestParameters: FileApiOfficeEditRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于获取 HTML 格式文档预览。 返回HTML或JPG格式的文档用于预览; 如果文件不属于可预览的文档类型,则会跳转至文件的下载链接。 * @summary 获取 HTML 格式文档预览 * @param {FileApiPreviewFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewFile(requestParameters: FileApiPreviewFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 在不解压文件的情况下预览压缩包内的内容,包含文件数量、名称、文件大小、修改时间等,接口为同步请求方式。 要求权限: 非 acl 鉴权:admin、space_admin; acl 鉴权:canDownload(当前文件夹可下载)。 支持格式:zip、tar、gz、7zip、rar(不支持 apk,apk 仅支持解压不支持预览); 大小限制:zip/7zip 无大小限制,tar/gz/rar 需小于 128MB; 文件数限制:压缩包内文件数最多 1000 个,超出部分截断(isTruncated 为 true); 需要在 library 级别开启 enableFileUncompress 功能; FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 解压预览 * @param {FileApiPreviewZipFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewZipFile(requestParameters: FileApiPreviewZipFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于根据增量游标(cursor)拉取文件系统的增量变更日志列表,返回从 cursor 位置之后发生的所有文件/目录变动事件。返回的新 cursor 可用于下次请求,实现连续的增量同步。 - 首次调用时传入通过获取增量游标接口获取的 cursor,后续传入上次返回的 cursor 进行连续拉取; - 当返回的 hasMore 为 true 时,应继续使用返回的 cursor 拉取后续数据,直到 hasMore 为 false; - 变更日志按数据库事务提交顺序有序返回,保证事件的全局一致性顺序。注意 eventTime 在并发场景下未必严格递增; - 变更日志记录了文件/目录的创建、修改、删除、移动、复制、放入回收站、从回收站恢复等事件; - cursor 的最大有效期为 180 天(可通过服务端配置调整),使用过期 cursor 时服务端会返回 HTTP 400 错误,错误码为 CursorExpired,此时应重新获取 cursor 并进行全量同步。 * @summary 查询增量变动日志 * @param {FileApiQueryDeltaLogRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryDeltaLog(requestParameters: FileApiQueryDeltaLogRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于分块上传任务续期。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 仅支持分块上传任务的续期。 * @summary 分块上传任务续期 * @param {FileApiRenewMultipartUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ renewMultipartUpload(requestParameters: FileApiRenewMultipartUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 用于开始简单上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 PUT 简单上传指使用 HTTP PUT 请求上传一个文件,请求体即为文件的内容; 调用该接口将返回一系列用于 PUT 简单上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4; PUT 简单上传时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始简单上传文件 * @param {FileApiSimpleUploadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ simpleUploadFile(requestParameters: FileApiSimpleUploadFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; /** * 将压缩包中的文件解压到 SMH 网盘的指定目录下,无需下载到本地。解压为异步任务,提交后返回 taskId,通过查询任务接口轮询进度。 要求权限: 非 acl 鉴权:需同时具备下载权限(admin、space_admin 或 read_only)和上传权限(admin、space_admin 或 upload_file); acl 鉴权:源文件所在文件夹需具备 canDownload(可下载),目标文件夹需具备 canUpload(可上传); 跨空间解压:仅 admin 权限用户可进行跨空间解压(即 targetSpaceId 与源文件所在 SpaceId 不同时);非 admin 用户仅允许同空间解压。 支持格式:zip、tar、gz、7zip、rar、apk; 需要在 library 级别开启 enableFileUncompress 功能; 解压为异步任务,提交后返回 taskId,前端通过任务查询接口轮询状态; 支持整包解压和选择性解压(通过 selectedFilePaths 参数指定需要解压的文件/文件夹); 支持跨空间解压(通过 targetSpaceId 参数指定目标空间); 支持加密压缩包解压(通过 password 参数传入密码); 支持文件名冲突处理策略(rename / overwrite / ask); FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 文件解压 * @param {FileApiUncompressFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ uncompressFile(requestParameters: FileApiUncompressFileRequest, options?: RawAxiosRequestConfig): AxiosPromise; }; /** * Request parameters for abortFileUpload operation in FileApi. */ export interface FileApiAbortFileUploadRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 确认参数 */ readonly confirmKey: string; /** * 上传任务标识 */ readonly upload: AbortFileUploadUploadEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for checkFileDeletion operation in FileApi. */ export interface FileApiCheckFileDeletionRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件的 Inode */ readonly inode: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; } /** * Request parameters for checkFileStatus operation in FileApi. */ export interface FileApiCheckFileStatusRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 */ readonly historyId?: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for completeFileUpload operation in FileApi. */ export interface FileApiCompleteFileUploadRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 确认参数,指定为开始上传文件时响应体中的 confirmKey 字段的值 */ readonly confirmKey: string; /** * 完成上传标识 */ readonly confirm: CompleteFileUploadConfirmEnum; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件;不传则沿用开始上传时的设置 */ readonly conflictResolutionStrategy?: CompleteFileUploadConflictResolutionStrategyEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 是否返回 inode(文件目录 ID),0 或 1,默认 0 */ readonly withInode?: CompleteFileUploadWithInodeEnum; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: CompleteFileUploadWithContentCasEnum; readonly completeFileUploadRequest?: CompleteFileUploadRequest; } /** * Request parameters for convertFile operation in FileApi. */ export interface FileApiConvertFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 文档转码操作标识,固定值为1 */ readonly convert: ConvertFileConvertEnum; readonly convertFileRequest: ConvertFileRequest; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: ConvertFileConflictResolutionStrategyEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for copyFile operation in FileApi. */ export interface FileApiCopyFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; readonly copyFileRequest: CopyFileRequest; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: CopyFileConflictResolutionStrategyEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: CopyFileWithContentCasEnum; } /** * Request parameters for createSymlink operation in FileApi. */ export interface FileApiCreateSymlinkRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; readonly createSymlinkRequest: CreateSymlinkRequest; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: CreateSymlinkConflictResolutionStrategyEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for createVirtualFile operation in FileApi. */ export interface FileApiCreateVirtualFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 固定标识,表示创建虚拟文件,无需赋值 */ readonly virtualFile: CreateVirtualFileVirtualFileEnum; /** * 文件名冲突时的处理方式,ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename: 冲突时自动重命名文件,overwrite: 覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: CreateVirtualFileConflictResolutionStrategyEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; readonly createVirtualFileRequest?: CreateVirtualFileRequest; } /** * Request parameters for deleteFile operation in FileApi. */ export interface FileApiDeleteFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 当媒体库开启回收站时,则该参数指定将文件移入回收站还是永久删除文件,1: 永久删除,0: 移入回收站,默认为 0 */ readonly permanent?: DeleteFilePermanentEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; } /** * Request parameters for downloadFile operation in FileApi. */ export interface FileApiDownloadFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 */ readonly historyId?: string; /** * 用于设置Content-Disposition响应头,支持 inline 或者 attachment,可选参数,不传默认为inline */ readonly contentDisposition?: DownloadFileContentDispositionEnum; /** * 用途,可选参数,可以设置为download或者preview,用于决定是否将该文件加入最近使用文件列表中,如果设置为preview,则会将该文件加入最近使用文件列表中,否则不会加入 */ readonly purpose?: DownloadFilePurposeEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 单链接下载限速,范围100KB/s-100MB/s,单位B */ readonly trafficLimit?: number; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: DownloadFileWithContentCasEnum; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: DownloadFileInternalDomainEnum; } /** * Request parameters for downloadTranscodedVideo operation in FileApi. */ export interface FileApiDownloadTranscodedVideoRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 转码模板(见视频转码接口),可支持的模板列表为:h264_360p(流畅)、h264_480p(低清)、h264_720p(高清)、h264_1080p(超清)、h264_2K、h264_4K */ readonly transcodingTemplateId: DownloadTranscodedVideoTranscodingTemplateIdEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; } /** * Request parameters for formUploadFile operation in FileApi. */ export interface FileApiFormUploadFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: FormUploadFileConflictResolutionStrategyEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 */ readonly filesize?: number; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 */ readonly xSmhMeta?: { [key: string]: string; }; /** * 单链接下载限速,范围100KB/s-100MB/s,单位B */ readonly trafficLimit?: number; /** * 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 */ readonly preferSameOrigin?: boolean; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: FormUploadFileWithContentCasEnum; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: FormUploadFileInternalDomainEnum; readonly formUploadFileRequest?: FormUploadFileRequest; } /** * Request parameters for getCover operation in FileApi. */ export interface FileApiGetCoverRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 预览标识,固定值为1 */ readonly preview: number; /** * 缩放大小,优先使用人脸识别智能缩放裁剪为 size×size,未识别到人脸则居中缩放裁剪为 size×size;不传则使用原图 */ readonly size?: number; /** * 等比例缩放百分比(1-100),当未传 size 时生效 */ readonly scale?: number; /** * 缩放宽度,当未传 size 和 scale 时生效;未传高度时,高度按等比例缩放 */ readonly widthSize?: number; /** * 缩放高度,当未传 size 和 scale 时生效;未传宽度时,宽度按等比例缩放 */ readonly heightSize?: number; /** * 帧数,针对 gif 的降帧处理 */ readonly frameNumber?: number; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for getDeltaCursor operation in FileApi. */ export interface FileApiGetDeltaCursorRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for getFileInfoByInode operation in FileApi. */ export interface FileApiGetFileInfoByInodeRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件ID */ readonly inode: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: GetFileInfoByInodeWithContentCasEnum; } /** * Request parameters for getFileUpload operation in FileApi. */ export interface FileApiGetFileUploadRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 确认参数 */ readonly confirmKey: string; /** * 上传任务标识 */ readonly upload: GetFileUploadUploadEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: GetFileUploadInternalDomainEnum; } /** * Request parameters for infoFile operation in FileApi. */ export interface FileApiInfoFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 获取文件信息标识 */ readonly info: InfoFileInfoEnum; /** * 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 */ readonly historyId?: string; /** * 用于设置Content-Disposition响应头,支持 inline 或者 attachment,可选参数,不传默认为inline */ readonly contentDisposition?: InfoFileContentDispositionEnum; /** * 用途,可选参数,可以设置为download或者preview,用于决定是否将该文件加入最近使用文件列表中,如果设置为preview,则会将该文件加入最近使用文件列表中,否则不会加入 */ readonly purpose?: InfoFilePurposeEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 单链接下载限速,范围100KB/s-100MB/s,单位B */ readonly trafficLimit?: number; /** * 是否只用于校验文件是否可预览和下载,设置该参数后返回结果中不包含cosUrl */ readonly preCheck?: InfoFilePreCheckEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: InfoFileWithContentCasEnum; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: InfoFileInternalDomainEnum; /** * 0 或 1,可选参数,默认为 0。设置为 1 时,返回的 cosUrl(及 availableCosUrls 中的地址)将被替换为短链形式 */ readonly withShortLink?: InfoFileWithShortLinkEnum; /** * 整数(单位:秒),可选参数。用于指定返回的下载/预览链接(或短链)的有效期。取值范围为 [60, 7200],其中最大值为 2 小时(7200 秒),默认为 2 小时 */ readonly period?: number; /** * 0 或 1,可选参数,默认为 0。设置为 1 时,返回在线预览链接;默认为下载链接 */ readonly preview?: InfoFilePreviewEnum; /** * 0 或 1,可选参数,默认为 0。设置为 1 时,返回结果中将包含当前用户对该文件的收藏状态 */ readonly withFavoriteStatus?: InfoFileWithFavoriteStatusEnum; } /** * Request parameters for moveFile operation in FileApi. */ export interface FileApiMoveFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; readonly moveFileRequest: MoveFileRequest; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: MoveFileConflictResolutionStrategyEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: MoveFileWithContentCasEnum; } /** * Request parameters for multipartUploadFile operation in FileApi. */ export interface FileApiMultipartUploadFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 是否为分块上传标识,固定值为1 */ readonly multipart: MultipartUploadFileMultipartEnum; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: MultipartUploadFileConflictResolutionStrategyEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 */ readonly filesize?: number; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 */ readonly xSmhMeta?: { [key: string]: string; }; /** * 单链接下载限速,范围100KB/s-100MB/s,单位B */ readonly trafficLimit?: number; /** * 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 */ readonly preferSameOrigin?: boolean; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: MultipartUploadFileWithContentCasEnum; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: MultipartUploadFileInternalDomainEnum; readonly multipartUploadFileRequest?: MultipartUploadFileRequest; } /** * Request parameters for officeEdit operation in FileApi. */ export interface FileApiOfficeEditRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 语言偏好,可选参数,例如 zh_CN、en */ readonly lang?: string; } /** * Request parameters for previewFile operation in FileApi. */ export interface FileApiPreviewFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 文档预览标识,固定值为1 */ readonly preview: PreviewFilePreviewEnum; /** * 历史版本 ID,用于获取不同版本的文件内容,可选参数,不传默认为最新版 */ readonly historyId?: string; /** * 文档预览方式,如果设置为 pic 则以 jpg 格式预览文档首页,否则以 html 格式预览文档 */ readonly type?: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for previewZipFile operation in FileApi. */ export interface FileApiPreviewZipFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 解压预览标识,固定值为 1 */ readonly zipPreview: PreviewZipFileZipPreviewEnum; /** * 返回格式,可选值:flat(默认,扁平列表)、tree(树形结构);传入其他值返回 ParamInvalid 错误 */ readonly format?: PreviewZipFileFormatEnum; /** * 加密压缩包的密码,可选参数,默认无密码;对非加密压缩包传入密码会被忽略,不影响预览结果 */ readonly password?: string; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for queryDeltaLog operation in FileApi. */ export interface FileApiQueryDeltaLogRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 增量游标,首次调用传获取增量游标接口返回的 cursor,后续传上次返回的 cursor */ readonly cursor: string; /** * 用于分页时本次拉取的项目数限制,默认 100,最大 1000 */ readonly limit?: number; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * Request parameters for renewMultipartUpload operation in FileApi. */ export interface FileApiRenewMultipartUploadRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 确认参数,指定为开始上传文件时响应体中的 confirmKey 字段的值 */ readonly confirmKey: string; /** * 续期标识 */ readonly renew: RenewMultipartUploadRenewEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 单链接下载限速,范围100KB/s-100MB/s,单位B */ readonly trafficLimit?: number; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: RenewMultipartUploadInternalDomainEnum; } /** * Request parameters for simpleUploadFile operation in FileApi. */ export interface FileApiSimpleUploadFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 文件名冲突时的处理方式,ask冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,rename冲突时自动重命名文件,overwrite如果冲突目标为目录时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码,否则覆盖已有文件,默认为 rename */ readonly conflictResolutionStrategy?: SimpleUploadFileConflictResolutionStrategyEnum; /** * 文件内容的Cas标识,可选参数 */ readonly contentCas?: string; /** * 上传文件大小,单位为字节(Byte),用于判断剩余空间是否足够 */ readonly filesize?: number; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; /** * 自定义元数据头,支持 x-smh-meta-* 格式的任意 Header,值为字符串 */ readonly xSmhMeta?: { [key: string]: string; }; /** * 单链接下载限速,范围100KB/s-100MB/s,单位B */ readonly trafficLimit?: number; /** * 是否倾向于保持相同域名,可选参数,可能的值为 true 或 false。此参数仅当上传文件的路径存在同名文件,且 ConflictResolutionStrategy 设置为 rename 或 overwrite 时生效。当设置此参数时,后台会尽量保证新上传的文件与原文件使用相同的域名进行上传或下载,但在特殊情况下仍有可能使用不同域名,因此不应过于依赖此参数。 */ readonly preferSameOrigin?: boolean; /** * 0 或 1,是否返回文件内容的Cas标识,可选,默认不返回 */ readonly withContentCas?: SimpleUploadFileWithContentCasEnum; /** * 0 或 1,是否使用内网域名生成文件访问/上传链接,可选参数,默认不使用;当设置为 1 时,返回的 URL 将使用内网域名,适用于同地域内网访问场景以提升访问速度 */ readonly internalDomain?: SimpleUploadFileInternalDomainEnum; readonly simpleUploadFileRequest?: SimpleUploadFileRequest; } /** * Request parameters for uncompressFile operation in FileApi. */ export interface FileApiUncompressFileRequest { /** * 媒体库 ID,必选参数 */ readonly libraryId: string; /** * 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数 */ readonly spaceId: string; /** * 文件路径|目录路径,对于多级文件路径,使用斜杠(/)分隔,例如 foo/bar/file.txt;对于根目录,该参数留空 */ readonly filePath: string; /** * 解压标识,固定值为 1 */ readonly uncompress: UncompressFileUncompressEnum; readonly uncompressFileRequest: UncompressFileRequest; /** * 文件名冲突时的处理方式,可选参数,默认为 rename:rename: 冲突时自动重命名文件(如 file(1).ext);overwrite: 冲突时覆盖已有文件(冲突目标为目录时返回错误);ask: 冲突时该文件解压失败,记入 failedItems 明细(整体任务返回 207 部分成功) */ readonly conflictResolutionStrategy?: UncompressFileConflictResolutionStrategyEnum; /** * 访问令牌,对于公有读媒体库或租户空间,可不指定该参数,否则必须指定该参数 */ readonly accessToken?: string; /** * 访问媒体库密钥,可选参数 */ readonly librarySecret?: string; /** * 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅生成访问令牌接口,可选参数 */ readonly userId?: string; } /** * FileApi - object-oriented interface */ export declare class FileApi extends BaseAPI { /** * 用于取消上传任务。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为删除接口,但因为删除的是上传任务信息,故仍需上传文件的相关权限) 如果上传任务为分块上传任务,那么该请求将同时放弃 COS 中的分块上传任务。 * @summary 取消上传任务 * @param {FileApiAbortFileUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ abortFileUpload(requestParameters: FileApiAbortFileUploadRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于查询文件删除的原因,可能是用户主动删除或者 quota 超限删除。 要求权限:admin 或 space_admin * @summary 查询文件删除原因 * @param {FileApiCheckFileDeletionRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileDeletion(requestParameters: FileApiCheckFileDeletionRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于检查文件状态 * @summary 检查文件状态 * @param {FileApiCheckFileStatusRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ checkFileStatus(requestParameters: FileApiCheckFileStatusRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于完成上传文件。 要求权限:admin、space_admin、upload_file、upload_file_force 或 confirm_upload。 在文件上传完成后,请务必及时调用该接口,否则文件将不能被正确存储;如果调用该接口时实际并未完成文件上传,将返回错误信息。 * @summary 完成上传文件 * @param {FileApiCompleteFileUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ completeFileUpload(requestParameters: FileApiCompleteFileUploadRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于转换文档格式,当前仅支持 doc/docx 转 pdf。 要求权限: 非 acl 鉴权:admin、space_admin acl 鉴权:canDownload(当前文件夹可下载)& canUpload(目标文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 文档转码 * @param {FileApiConvertFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ convertFile(requestParameters: FileApiConvertFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于复制文件。 要求权限: admin、space_admin 或 copy_file/copy_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件复制到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 复制文件 * @param {FileApiCopyFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ copyFile(requestParameters: FileApiCopyFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于创建符号链接。 要求权限: 非 acl 鉴权:admin、space_admin 或 upload_file/upload_file_force/create_symlink/create_symlink_force acl 鉴权:canUpload(当前文件夹可上传) 非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口; acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块; 符号链接本身与文件的概念一致,可以通过删除文件、重命名或移动文件、复制文件等接口删除、重命名或移动或复制符号链接本身,而不会影响符号链接所指向的文件; 与标准文件系统略有不同,符号链接所指向的文件,不会因为重命名或移动而丢失指向; 当符号链接指向的文件被覆盖上传时,该符号链接将指向新上传的文件。 * @summary 创建符号链接 * @param {FileApiCreateSymlinkRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ createSymlink(requestParameters: FileApiCreateSymlinkRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于创建虚拟文件。虚拟文件不上传实际内容,仅在 SMH 中创建一条元数据记录。 要求权限: admin、space_admin 或 upload_file/upload_file_force/create_virtual。 补充说明: - 虚拟文件创建后,在目录列出、搜索等场景中与普通文件表现一致; - 虚拟文件不在 COS 上保存实体文件内容,仅在 SMH 文件系统中保存一条虚拟元数据记录; - 虚拟文件的存储配额占用取决于客户设置的 size 值,若 size 为 0 则不占用配额,若设置了 size 则按该值计入配额; - 虚拟文件可以通过删除文件、重命名或移动文件、复制文件等接口进行操作,行为与普通文件一致; - 虚拟文件不支持上传/下载实际内容、文档预览/转码,也不支持创建指向虚拟文件的符号链接; * @summary 创建虚拟文件 * @param {FileApiCreateVirtualFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ createVirtualFile(requestParameters: FileApiCreateVirtualFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于删除文件。 要求权限: admin、space_admin 或 delete_file(未开启回收站或 Permanent 为 0)/delete_file_permanent(开启回收站且 Permanent 为 1) 如果媒体库启用回收站功能,则该接口不会永久删除文件,而是将文件移入回收站,可通过相关接口永久删除或恢复回收站内的文件,或直接清空回收站。 * @summary 删除文件 * @param {FileApiDeleteFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ deleteFile(requestParameters: FileApiDeleteFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于下载文件。 可以直接在使用文件的参数中指定该 URL,例如对于图片文件可直接在小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等中使用,该接口将自动 302 跳转到真实的图片 URL;视频和文件同理; * @summary 下载文件 * @param {FileApiDownloadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadFile(requestParameters: FileApiDownloadFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 下载视频转码接口转码后的文件,扩展下载文件接口。 权限说明:同下载文件接口。 补充说明: - 若 m3u8 转封装未完成,则返回 FileConverting - 若转码未完成,则返回原始视频的下载链接 * @summary 视频下载 * @param {FileApiDownloadTranscodedVideoRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ downloadTranscodedVideo(requestParameters: FileApiDownloadTranscodedVideoRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于开始表单上传文件(multipart/form-data)。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 调用该接口将返回一系列用于 form 表单上传(multipart/form-data 格式)和确认上传完成的参数,上传的目标 URL 为 https://{Domain}/,其中 Domain 为响应体中的 domain 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/; form 表单上传时还需要指定一系列额外的信息字段,这些字段的名和值包含在响应体中的 form 字段中,可以在 HTML form 表单中通过隐藏域或通过 JS 相关库、小程序 wx.uploadFile 等指定这些字段; form 表单中的文件字段,其表单字段名固定为 file,且必须作为表单中的最后一项; 在完成实际上传后,上传的目标 URL 将返回 HTTP 204 No Content,由于可能的跨域限制,建议直接通过相关接口的回调来判断是否上传完成,并且在上传完成后及时调用完成上传文件接口,确认上传结果; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始表单上传文件 * @param {FileApiFormUploadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ formUploadFile(requestParameters: FileApiFormUploadFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于获取照片/视频封面缩略图。 视频封面使用该视频的首帧图片; 针对照片或视频封面,优先使用人脸识别智能缩放裁剪为 {Size}px × {Size}px 大小,如果未识别到人脸则居中缩放裁剪为 {Size}px × {Size}px 大小,如果未指定 {Size} 参数则使用照片或视频封面原图,最后 302 跳转到对应的图片的 URL; 可以直接在使用图片的参数中指定该 URL,例如小程序 标签、 HTML 标签或小程序 wx.previewImage 接口等,该接口将自动 302 跳转到真实的图片 URL; 如果文件不属于可预览的媒体类型,则会跳转至文件的下载链接。 * @summary 获取照片/视频封面缩略图 * @param {FileApiGetCoverRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getCover(requestParameters: FileApiGetCoverRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于获取当前最新的增量游标(cursor),该 cursor 标记了当前变更日志的最新位置。调用方可保存此 cursor,后续作为增量查询变动日志接口的起始位置,从该位置开始拉取增量变更。 增量同步的使用流程: 1. 首次同步时,先调用本接口获取当前最新的 cursor(锚定变更日志位置); 2. 然后调用列出目录或文件接口全量拉取空间文件列表; 3. 全量拉取完成后,使用步骤 1 获取的 cursor 调用增量查询变动日志接口,补齐全量拉取期间产生的变更; 4. 后续定期使用保存的 cursor 调用增量查询变动日志接口进行增量同步; cursor 是一个不透明的字符串标记,代表增量同步的位置,调用方应将其作为黑盒保存和传递,无需解析其内容。 * @summary 获取增量游标 * @param {FileApiGetDeltaCursorRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getDeltaCursor(requestParameters: FileApiGetDeltaCursorRequest, options?: RawAxiosRequestConfig): Promise>; /** * 根据文件 ID 查询文件信息 * @summary 根据文件ID查询文件信息 * @param {FileApiGetFileInfoByInodeRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileInfoByInode(requestParameters: FileApiGetFileInfoByInodeRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于获取文件上传任务状态。 要求权限: admin、space_admin、upload_file、upload_file_force、begin_upload 或 begin_upload_force(注意:虽然本接口为读接口,但因为读取的是上传任务信息,故仍需上传文件的相关权限) * @summary 获取文件上传任务状态 * @param {FileApiGetFileUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getFileUpload(requestParameters: FileApiGetFileUploadRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于获取文件下载链接和信息。 要求权限:无 * @summary 获取文件下载链接和信息 * @param {FileApiInfoFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ infoFile(requestParameters: FileApiInfoFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于重命名或移动文件。 要求权限: admin、space_admin 或 move_file/move_file_force。 该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名; 不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 重命名或移动文件 * @param {FileApiMoveFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ moveFile(requestParameters: FileApiMoveFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于开始分块上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 分块上传指使用通过 HTTP PUT 请求上传一个文件的分块,通过多次上传完成整个文件的上传,每次请求的请求体为文件内容的单个分块; 调用该接口将返回一系列用于分块上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path}?uploadId={UploadId}&partNumber={PartNumber},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,UploadId 为响应体中的 uploadId 字段,PartNumber 为从 1 开始的分块顺序,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4?uploadId=xxx&partNumber=1; 上传每个分块时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 与对象存储 COS 的分块上传不同,SMH 的分块上传无需记录 ETag,也无需在完成上传时传入这些 ETag,只需保证上传分块的连续即可,SMH 将在完成上传时自动执行这些操作; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始分块上传文件 * @param {FileApiMultipartUploadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ multipartUploadFile(requestParameters: FileApiMultipartUploadFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于打开在线文档编辑入口,返回包含【文档服务】SDK 的 HTML 页面,用户可在浏览器中直接编辑文档。 接口说明: - 支持的文档类型: - 文字:.doc/.docx/.wps/.dot/.wpt/.dotx/.docm/.dotm - 表格:.xls/.xlsx/.et/.xlt/.xltx/.xlsm/.xltm - 演示:.ppt/.pptx/.dps/.pps/.ppsx/.ppsm/.pptm/.potx/.potm/.dpt - PDF:.pdf - 媒体库必须开启文档编辑功能,否则返回 DocEditNotEnabled; - 文件大小不得超过 200MB; - 该接口返回 HTML 页面(非 JSON)。 * @summary 打开在线文档编辑入口 * @param {FileApiOfficeEditRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ officeEdit(requestParameters: FileApiOfficeEditRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于获取 HTML 格式文档预览。 返回HTML或JPG格式的文档用于预览; 如果文件不属于可预览的文档类型,则会跳转至文件的下载链接。 * @summary 获取 HTML 格式文档预览 * @param {FileApiPreviewFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewFile(requestParameters: FileApiPreviewFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 在不解压文件的情况下预览压缩包内的内容,包含文件数量、名称、文件大小、修改时间等,接口为同步请求方式。 要求权限: 非 acl 鉴权:admin、space_admin; acl 鉴权:canDownload(当前文件夹可下载)。 支持格式:zip、tar、gz、7zip、rar(不支持 apk,apk 仅支持解压不支持预览); 大小限制:zip/7zip 无大小限制,tar/gz/rar 需小于 128MB; 文件数限制:压缩包内文件数最多 1000 个,超出部分截断(isTruncated 为 true); 需要在 library 级别开启 enableFileUncompress 功能; FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 解压预览 * @param {FileApiPreviewZipFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ previewZipFile(requestParameters: FileApiPreviewZipFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于根据增量游标(cursor)拉取文件系统的增量变更日志列表,返回从 cursor 位置之后发生的所有文件/目录变动事件。返回的新 cursor 可用于下次请求,实现连续的增量同步。 - 首次调用时传入通过获取增量游标接口获取的 cursor,后续传入上次返回的 cursor 进行连续拉取; - 当返回的 hasMore 为 true 时,应继续使用返回的 cursor 拉取后续数据,直到 hasMore 为 false; - 变更日志按数据库事务提交顺序有序返回,保证事件的全局一致性顺序。注意 eventTime 在并发场景下未必严格递增; - 变更日志记录了文件/目录的创建、修改、删除、移动、复制、放入回收站、从回收站恢复等事件; - cursor 的最大有效期为 180 天(可通过服务端配置调整),使用过期 cursor 时服务端会返回 HTTP 400 错误,错误码为 CursorExpired,此时应重新获取 cursor 并进行全量同步。 * @summary 查询增量变动日志 * @param {FileApiQueryDeltaLogRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ queryDeltaLog(requestParameters: FileApiQueryDeltaLogRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于分块上传任务续期。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 仅支持分块上传任务的续期。 * @summary 分块上传任务续期 * @param {FileApiRenewMultipartUploadRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ renewMultipartUpload(requestParameters: FileApiRenewMultipartUploadRequest, options?: RawAxiosRequestConfig): Promise>; /** * 用于开始简单上传文件。 要求权限:admin、space_admin 或 upload_file/upload_file_force/begin_upload/begin_upload_force。 PUT 简单上传指使用 HTTP PUT 请求上传一个文件,请求体即为文件的内容; 调用该接口将返回一系列用于 PUT 简单上传请求和确认上传完成的参数,上传的目标 URL 为 https://{Domain}{Path},其中 Domain 为响应体中的 domain 字段,Path 为响应体中的 path 字段,例如 https://examplebucket-1250000000.cos.ap-beijing.myqcloud.com/smhxxx/xxx.mp4; PUT 简单上传时还需要指定一系列额外的请求头部字段,这些字段的名和值包含在响应体中的 headers 字段中; 当在浏览器使用 JS 上传文件时,需要提前在绑定的 COS 存储桶中设置跨域访问 CORS 设置; 在完成实际上传后,上传的目标 URL 将返回 HTTP 200 OK; 默认情况下同名文件将自动修改文件名,可在完成上传文件接口中获取最终的文件路径; 不会自动创建所需的各级父目录,所以必须保证路径的各级目录存在。 * @summary 开始简单上传文件 * @param {FileApiSimpleUploadFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ simpleUploadFile(requestParameters: FileApiSimpleUploadFileRequest, options?: RawAxiosRequestConfig): Promise>; /** * 将压缩包中的文件解压到 SMH 网盘的指定目录下,无需下载到本地。解压为异步任务,提交后返回 taskId,通过查询任务接口轮询进度。 要求权限: 非 acl 鉴权:需同时具备下载权限(admin、space_admin 或 read_only)和上传权限(admin、space_admin 或 upload_file); acl 鉴权:源文件所在文件夹需具备 canDownload(可下载),目标文件夹需具备 canUpload(可上传); 跨空间解压:仅 admin 权限用户可进行跨空间解压(即 targetSpaceId 与源文件所在 SpaceId 不同时);非 admin 用户仅允许同空间解压。 支持格式:zip、tar、gz、7zip、rar、apk; 需要在 library 级别开启 enableFileUncompress 功能; 解压为异步任务,提交后返回 taskId,前端通过任务查询接口轮询状态; 支持整包解压和选择性解压(通过 selectedFilePaths 参数指定需要解压的文件/文件夹); 支持跨空间解压(通过 targetSpaceId 参数指定目标空间); 支持加密压缩包解压(通过 password 参数传入密码); 支持文件名冲突处理策略(rename / overwrite / ask); FilePath 必须指向一个文件(非目录),否则返回 FileUncompressNotAllowed 错误。 * @summary 文件解压 * @param {FileApiUncompressFileRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ uncompressFile(requestParameters: FileApiUncompressFileRequest, options?: RawAxiosRequestConfig): Promise>; } export declare const AbortFileUploadUploadEnum: { readonly NUMBER_1: 1; }; export type AbortFileUploadUploadEnum = typeof AbortFileUploadUploadEnum[keyof typeof AbortFileUploadUploadEnum]; export declare const CompleteFileUploadConfirmEnum: { readonly NUMBER_1: 1; }; export type CompleteFileUploadConfirmEnum = typeof CompleteFileUploadConfirmEnum[keyof typeof CompleteFileUploadConfirmEnum]; export declare const CompleteFileUploadConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type CompleteFileUploadConflictResolutionStrategyEnum = typeof CompleteFileUploadConflictResolutionStrategyEnum[keyof typeof CompleteFileUploadConflictResolutionStrategyEnum]; export declare const CompleteFileUploadWithInodeEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type CompleteFileUploadWithInodeEnum = typeof CompleteFileUploadWithInodeEnum[keyof typeof CompleteFileUploadWithInodeEnum]; export declare const CompleteFileUploadWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type CompleteFileUploadWithContentCasEnum = typeof CompleteFileUploadWithContentCasEnum[keyof typeof CompleteFileUploadWithContentCasEnum]; export declare const ConvertFileConvertEnum: { readonly NUMBER_1: 1; }; export type ConvertFileConvertEnum = typeof ConvertFileConvertEnum[keyof typeof ConvertFileConvertEnum]; export declare const ConvertFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type ConvertFileConflictResolutionStrategyEnum = typeof ConvertFileConflictResolutionStrategyEnum[keyof typeof ConvertFileConflictResolutionStrategyEnum]; export declare const CopyFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type CopyFileConflictResolutionStrategyEnum = typeof CopyFileConflictResolutionStrategyEnum[keyof typeof CopyFileConflictResolutionStrategyEnum]; export declare const CopyFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type CopyFileWithContentCasEnum = typeof CopyFileWithContentCasEnum[keyof typeof CopyFileWithContentCasEnum]; export declare const CreateSymlinkConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type CreateSymlinkConflictResolutionStrategyEnum = typeof CreateSymlinkConflictResolutionStrategyEnum[keyof typeof CreateSymlinkConflictResolutionStrategyEnum]; export declare const CreateVirtualFileVirtualFileEnum: { readonly NUMBER_1: 1; }; export type CreateVirtualFileVirtualFileEnum = typeof CreateVirtualFileVirtualFileEnum[keyof typeof CreateVirtualFileVirtualFileEnum]; export declare const CreateVirtualFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type CreateVirtualFileConflictResolutionStrategyEnum = typeof CreateVirtualFileConflictResolutionStrategyEnum[keyof typeof CreateVirtualFileConflictResolutionStrategyEnum]; export declare const DeleteFilePermanentEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type DeleteFilePermanentEnum = typeof DeleteFilePermanentEnum[keyof typeof DeleteFilePermanentEnum]; export declare const DownloadFileContentDispositionEnum: { readonly Inline: "inline"; readonly Attachment: "attachment"; }; export type DownloadFileContentDispositionEnum = typeof DownloadFileContentDispositionEnum[keyof typeof DownloadFileContentDispositionEnum]; export declare const DownloadFilePurposeEnum: { readonly Download: "download"; readonly Preview: "preview"; }; export type DownloadFilePurposeEnum = typeof DownloadFilePurposeEnum[keyof typeof DownloadFilePurposeEnum]; export declare const DownloadFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type DownloadFileWithContentCasEnum = typeof DownloadFileWithContentCasEnum[keyof typeof DownloadFileWithContentCasEnum]; export declare const DownloadFileInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type DownloadFileInternalDomainEnum = typeof DownloadFileInternalDomainEnum[keyof typeof DownloadFileInternalDomainEnum]; export declare const DownloadTranscodedVideoTranscodingTemplateIdEnum: { readonly H264360p: "h264_360p"; readonly H264480p: "h264_480p"; readonly H264720p: "h264_720p"; readonly H2641080p: "h264_1080p"; readonly H2642K: "h264_2K"; readonly H2644K: "h264_4K"; }; export type DownloadTranscodedVideoTranscodingTemplateIdEnum = typeof DownloadTranscodedVideoTranscodingTemplateIdEnum[keyof typeof DownloadTranscodedVideoTranscodingTemplateIdEnum]; export declare const FormUploadFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type FormUploadFileConflictResolutionStrategyEnum = typeof FormUploadFileConflictResolutionStrategyEnum[keyof typeof FormUploadFileConflictResolutionStrategyEnum]; export declare const FormUploadFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type FormUploadFileWithContentCasEnum = typeof FormUploadFileWithContentCasEnum[keyof typeof FormUploadFileWithContentCasEnum]; export declare const FormUploadFileInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type FormUploadFileInternalDomainEnum = typeof FormUploadFileInternalDomainEnum[keyof typeof FormUploadFileInternalDomainEnum]; export declare const GetFileInfoByInodeWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type GetFileInfoByInodeWithContentCasEnum = typeof GetFileInfoByInodeWithContentCasEnum[keyof typeof GetFileInfoByInodeWithContentCasEnum]; export declare const GetFileUploadUploadEnum: { readonly NUMBER_1: 1; }; export type GetFileUploadUploadEnum = typeof GetFileUploadUploadEnum[keyof typeof GetFileUploadUploadEnum]; export declare const GetFileUploadInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type GetFileUploadInternalDomainEnum = typeof GetFileUploadInternalDomainEnum[keyof typeof GetFileUploadInternalDomainEnum]; export declare const InfoFileInfoEnum: { readonly NUMBER_1: 1; }; export type InfoFileInfoEnum = typeof InfoFileInfoEnum[keyof typeof InfoFileInfoEnum]; export declare const InfoFileContentDispositionEnum: { readonly Inline: "inline"; readonly Attachment: "attachment"; }; export type InfoFileContentDispositionEnum = typeof InfoFileContentDispositionEnum[keyof typeof InfoFileContentDispositionEnum]; export declare const InfoFilePurposeEnum: { readonly Download: "download"; readonly Preview: "preview"; }; export type InfoFilePurposeEnum = typeof InfoFilePurposeEnum[keyof typeof InfoFilePurposeEnum]; export declare const InfoFilePreCheckEnum: { readonly NUMBER_1: 1; }; export type InfoFilePreCheckEnum = typeof InfoFilePreCheckEnum[keyof typeof InfoFilePreCheckEnum]; export declare const InfoFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type InfoFileWithContentCasEnum = typeof InfoFileWithContentCasEnum[keyof typeof InfoFileWithContentCasEnum]; export declare const InfoFileInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type InfoFileInternalDomainEnum = typeof InfoFileInternalDomainEnum[keyof typeof InfoFileInternalDomainEnum]; export declare const InfoFileWithShortLinkEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type InfoFileWithShortLinkEnum = typeof InfoFileWithShortLinkEnum[keyof typeof InfoFileWithShortLinkEnum]; export declare const InfoFilePreviewEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type InfoFilePreviewEnum = typeof InfoFilePreviewEnum[keyof typeof InfoFilePreviewEnum]; export declare const InfoFileWithFavoriteStatusEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type InfoFileWithFavoriteStatusEnum = typeof InfoFileWithFavoriteStatusEnum[keyof typeof InfoFileWithFavoriteStatusEnum]; export declare const MoveFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type MoveFileConflictResolutionStrategyEnum = typeof MoveFileConflictResolutionStrategyEnum[keyof typeof MoveFileConflictResolutionStrategyEnum]; export declare const MoveFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type MoveFileWithContentCasEnum = typeof MoveFileWithContentCasEnum[keyof typeof MoveFileWithContentCasEnum]; export declare const MultipartUploadFileMultipartEnum: { readonly NUMBER_1: 1; }; export type MultipartUploadFileMultipartEnum = typeof MultipartUploadFileMultipartEnum[keyof typeof MultipartUploadFileMultipartEnum]; export declare const MultipartUploadFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type MultipartUploadFileConflictResolutionStrategyEnum = typeof MultipartUploadFileConflictResolutionStrategyEnum[keyof typeof MultipartUploadFileConflictResolutionStrategyEnum]; export declare const MultipartUploadFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type MultipartUploadFileWithContentCasEnum = typeof MultipartUploadFileWithContentCasEnum[keyof typeof MultipartUploadFileWithContentCasEnum]; export declare const MultipartUploadFileInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type MultipartUploadFileInternalDomainEnum = typeof MultipartUploadFileInternalDomainEnum[keyof typeof MultipartUploadFileInternalDomainEnum]; export declare const PreviewFilePreviewEnum: { readonly NUMBER_1: 1; }; export type PreviewFilePreviewEnum = typeof PreviewFilePreviewEnum[keyof typeof PreviewFilePreviewEnum]; export declare const PreviewZipFileZipPreviewEnum: { readonly NUMBER_1: 1; }; export type PreviewZipFileZipPreviewEnum = typeof PreviewZipFileZipPreviewEnum[keyof typeof PreviewZipFileZipPreviewEnum]; export declare const PreviewZipFileFormatEnum: { readonly Flat: "flat"; readonly Tree: "tree"; }; export type PreviewZipFileFormatEnum = typeof PreviewZipFileFormatEnum[keyof typeof PreviewZipFileFormatEnum]; export declare const RenewMultipartUploadRenewEnum: { readonly NUMBER_1: 1; }; export type RenewMultipartUploadRenewEnum = typeof RenewMultipartUploadRenewEnum[keyof typeof RenewMultipartUploadRenewEnum]; export declare const RenewMultipartUploadInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type RenewMultipartUploadInternalDomainEnum = typeof RenewMultipartUploadInternalDomainEnum[keyof typeof RenewMultipartUploadInternalDomainEnum]; export declare const SimpleUploadFileConflictResolutionStrategyEnum: { readonly Ask: "ask"; readonly Rename: "rename"; readonly Overwrite: "overwrite"; }; export type SimpleUploadFileConflictResolutionStrategyEnum = typeof SimpleUploadFileConflictResolutionStrategyEnum[keyof typeof SimpleUploadFileConflictResolutionStrategyEnum]; export declare const SimpleUploadFileWithContentCasEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type SimpleUploadFileWithContentCasEnum = typeof SimpleUploadFileWithContentCasEnum[keyof typeof SimpleUploadFileWithContentCasEnum]; export declare const SimpleUploadFileInternalDomainEnum: { readonly NUMBER_0: 0; readonly NUMBER_1: 1; }; export type SimpleUploadFileInternalDomainEnum = typeof SimpleUploadFileInternalDomainEnum[keyof typeof SimpleUploadFileInternalDomainEnum]; export declare const UncompressFileUncompressEnum: { readonly NUMBER_1: 1; }; export type UncompressFileUncompressEnum = typeof UncompressFileUncompressEnum[keyof typeof UncompressFileUncompressEnum]; export declare const UncompressFileConflictResolutionStrategyEnum: { readonly Rename: "rename"; readonly Overwrite: "overwrite"; readonly Ask: "ask"; }; export type UncompressFileConflictResolutionStrategyEnum = typeof UncompressFileConflictResolutionStrategyEnum[keyof typeof UncompressFileConflictResolutionStrategyEnum];