ntqq
Version:
QQ protocol for NodeJS!
59 lines (58 loc) • 1.73 kB
TypeScript
import { Readable } from 'stream';
import { ImageElem } from './elements';
import * as pb from '../core/protobuf';
export declare const EXT: {
[type: number]: string;
};
/** 构造图片file */
export declare function buildImageFileParam(md5: string, size?: number, width?: number, height?: number, type?: number): string;
/** 从图片的file中解析出图片属性参数 */
export declare function parseImageFileParam(file: string): {
md5: string;
sha1: string;
size: number;
width: number;
height: number;
ext: string;
};
export declare class Image {
private dm;
private cachedir?;
/** 最终用于发送的对象 */
proto: {
[tag: number]: any;
};
/** 用于上传的文件流 */
readable?: Readable;
/** 实例化后必须等待此异步任务完成后才能上传图片 */
task: Promise<void>;
/** 图片属性 */
md5: Buffer;
sha1: Buffer;
size: number;
width: number;
height: number;
type: number;
origin?: boolean;
private asface?;
compatElems?: pb.Proto;
commonElems?: pb.Proto;
/** 缓存文件路径 */
private cachefile?;
/** 临时文件路径 */
private tmpfile?;
/** @param elem
* @param cachedir
@param dm 是否私聊图片 */
constructor(elem: ImageElem, dm?: boolean, cachedir?: string | undefined);
private setProperties;
private parseFileParam;
private fromProbeSync;
private fromReadable;
private fromWeb;
private fromLocal;
/** 服务端图片失效时建议调用此函数 */
deleteCacheFile(): void;
/** 图片上传完成后建议调用此函数(文件存在系统临时目录中) */
deleteTmpFile(): void;
}