UNPKG

@nos-sdk/nos-node-sdk

Version:

NOS Node.js SDK实现了NOS对象操作接口,基于此SDK能方便快速地实现JavaScript应用程序来使用NOS的对象存储服务。

64 lines (63 loc) 3.16 kB
/// <reference types="node" /> import { NosBaseClient } from '../client'; import { Callback } from '../type/callback'; import { CopyObjectParams, DeleteMultiObjectErrorInfo, DeleteMultiObjectParams, DeleteObjectParams, GetObjectBufferParams, GetObjectStreamParams, GetObjectStringParams, GetObjectUrlParams, HeadObjectParams, HeadObjectResult, ListObjectParams, ListObjectResult, MoveObjectParams, OperateObjectParams, PutObjectParams, PutObjectResult } from '../type/object'; export declare class NosClientObjectExt extends NosBaseClient { /** * 获取对象列表 */ listObject(params?: ListObjectParams): Promise<ListObjectResult>; listObject(params: ListObjectParams, cb: Callback<ListObjectResult>): void; /** * 上传对象 */ putObject(params: PutObjectParams): Promise<PutObjectResult>; putObject(params: PutObjectParams, cb: Callback<PutObjectResult>): void; /** * 获取对象内容。支持以 Buffer/string/Stream 的形式返回,建议使用 Stream 形式。 * 如果你能确保返回的文件大小在合理的范围,不会导致占用过多的内容,比如说一张图片,一个文本文件等, * 可以直接使用 Buffer 或者 string,否则请使用 Stream */ getObject(params: GetObjectStreamParams): Promise<NodeJS.ReadableStream>; getObject(params: GetObjectBufferParams): Promise<Buffer>; getObject(params: GetObjectStringParams): Promise<string>; getObject(params: GetObjectStreamParams, cb: Callback<NodeJS.ReadableStream>): void; getObject(params: GetObjectBufferParams, cb: Callback<Buffer>): void; getObject(params: GetObjectStringParams, cb: Callback<string>): void; /** * 获取对象元信息。类似于 HTTP head 操作。 */ headObject(params: HeadObjectParams): Promise<HeadObjectResult>; headObject(params: HeadObjectParams, cb: Callback<HeadObjectResult>): void; /** * 检查文件是否存在 */ isObjectExist(params: OperateObjectParams): Promise<boolean>; isObjectExist(params: OperateObjectParams, cb: Callback<boolean>): void; /** * 复制对象 */ copyObject(params: CopyObjectParams): Promise<void>; copyObject(params: CopyObjectParams, cb: Callback<void>): void; /** * 获取对象的可访问 Url */ getObjectUrl(params: GetObjectUrlParams): Promise<string>; getObjectUrl(params: GetObjectUrlParams, cb: Callback<string>): void; /** * 删除对象 */ deleteObject(params: DeleteObjectParams): Promise<void>; deleteObject(params: DeleteObjectParams, cb: Callback<void>): void; /** * 移动对象 */ moveObject(params: MoveObjectParams): Promise<void>; moveObject(params: MoveObjectParams, cb: Callback<void>): void; /** * 批量删除对象。 * @return errors 删除失败的错误列表 */ deleteMultiObject(params: DeleteMultiObjectParams): Promise<DeleteMultiObjectErrorInfo[]>; deleteMultiObject(params: DeleteMultiObjectParams, cb: Callback<DeleteMultiObjectErrorInfo[]>): void; }