UNPKG

@ckeditor/ckeditor5-cloud-services

Version:

CKEditor 5's Cloud Services integration layer.

95 lines (94 loc) 2.44 kB
/** * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * @module cloud-services/uploadgateway/fileuploader */ import type { UploadResponse } from 'ckeditor5/src/upload.js'; import type { InitializedToken } from '../token/token.js'; declare const FileUploader_base: { new (): import("ckeditor5/src/utils.js").Emitter; prototype: import("ckeditor5/src/utils.js").Emitter; }; /** * FileUploader class used to upload single file. */ export default class FileUploader extends /* #__PURE__ */ FileUploader_base { /** * A file that is being uploaded. */ readonly file: Blob; xhr?: XMLHttpRequest; /** * CKEditor Cloud Services access token. */ private readonly _token; /** * CKEditor Cloud Services API address. */ private readonly _apiAddress; /** * Creates `FileUploader` instance. * * @param fileOrData A blob object or a data string encoded with Base64. * @param token Token used for authentication. * @param apiAddress API address. */ constructor(fileOrData: string | Blob, token: InitializedToken, apiAddress: string); /** * Registers callback on `progress` event. */ onProgress(callback: (status: { total: number; uploaded: number; }) => void): this; /** * Registers callback on `error` event. Event is called once when error occurs. */ onError(callback: (error: string) => void): this; /** * Aborts upload process. */ abort(): void; /** * Sends XHR request to API. */ send(): Promise<UploadResponse>; /** * Prepares XHR request. */ private _prepareRequest; /** * Attaches listeners to the XHR. */ private _attachXHRListeners; /** * Sends XHR request. */ private _sendRequest; } /** * Fired when error occurs. * * @eventName ~FileUploader#error * @param error Error message */ export type FileUploaderErrorEvent = { name: 'error'; args: [error: string]; }; /** * Fired on upload progress. * * @eventName ~FileUploader#progress * @param status Total and uploaded status */ export type FileUploaderProgressErrorEvent = { name: 'progress'; args: [status: { total: number; uploaded: number; }]; }; export {};