import { EventEmitter, Injector } from "@angular/core"; import { Observable, Subject, Subscription } from "rxjs"; import { UploadFile, UploadOutput, UploadInput, UploadServerService, UploaderOptions } from "../model/index"; export declare class FFileUploaderService { private uploadServerSer; private inject; queue: UploadFile[]; serviceEvents: EventEmitter; uploadScheduler: Subject<{ file: UploadFile; event: UploadInput; files?: UploadFile[]; }>; subs: { id: string; sub: Subscription; ids?: string[]; }[]; allowedContentTypes: string[]; maxUploads: number; /** 单位M,默认是12M,0代表不限制 */ maxFileSize: number; concurrency: number; uploadedCount: number; notAllowedCharsInFileName: any[]; private extendServerConfig; private hasLocalSer; constructor(uploadServerSer: UploadServerService, inject: Injector); setOptions(options: UploaderOptions): void; handleFiles(incomingFiles: FileList): void; private rejectedReason; /** * 从前端传来事件,进行服务器端方法类型判断 * @param input */ initInputEvents(input: EventEmitter): Subscription; setExtendServerConfig(extendSer: any): void; serverMethod(upload: { file: UploadFile; event: UploadInput; files?: UploadFile[]; }): Observable; /** * 单个文件上传 * @param file * @param event */ multipartUpload(file: UploadFile, event: UploadInput): Observable; upload(files: UploadFile[], event: UploadInput): Observable; remove(files: UploadFile[], event: UploadInput): Observable; reset(): void; setContentTypes(contentTypes: string[]): void; allContentTypesAllowed(): boolean; /** * * @param name */ isContentTypeAllowed(name: string): boolean; private isNameAllowed; isFileSizeAllowed(fileSize: number): boolean; }