import { APIResource } from '../resource'; /** * 媒体文件类型 * * - image:图片,图片最大20MB。支持上传jpg、gif、png、bmp格式。 * - voice:语音,语音文件最大2MB。支持上传amr、mp3、wav格式。 * - video:视频,视频最大20MB。支持上传mp4格式。 * - file:普通文件,最大20MB。支持上传doc、docx、xls、xlsx、ppt、pptx、zip、pdf、rar格式。 */ export type MediaType = 'image' | 'voice' | 'file'; /** * 上传结果 */ export type UploadResult = { /** * 错误码 */ errcode: number; /** * 错误信息 */ errmsg: string; /** * 媒体文件类型 */ type: T; /** * 媒体文件上传后获取的唯一标识。 */ media_id: string; /** * 媒体文件上传时间戳。 */ created_at: number; }; export declare class Uploader extends APIResource { endpoint: string; /** * 从远程链接获取文件并上传 * * @param type - 媒体文件类型 * @param url - 下载地址 * @param name - 文件名 * @returns 上传结果 */ putFromURL(type: Type, url: string, name?: string): Promise>; /** * 从本地文件上传 * * @param type - 上传文件类型 * @param path - 文件路径 * @param filename - 文件名 * @returns 上传结果 */ putFromPath(type: Type, path: string, name?: string): Promise>; /** * 从文件内容上传 * * @see https://open.dingtalk.com/document/orgapp/upload-media-files * @param type - 上传类型 * @param data - 文件内容 * @param filename - 文件名 * @returns 上传结果 */ putFromObject(type: Type, data: BlobPart, filename?: string): Promise>; }