@uploadx/core
Version:
Node.js resumable upload middleware
47 lines (46 loc) • 1.55 kB
TypeScript
import { IncomingMessage } from '../types';
import { ERRORS, HttpError } from '../utils';
import { File, FileInit, FilePart, FileQuery } from './file';
import { LocalMetaStorageOptions } from './local-meta-storage';
import { MetaStorage } from './meta-storage';
import { BaseStorage, BaseStorageOptions } from './storage';
export declare class DiskFile extends File {
}
export type DiskStorageOptions = BaseStorageOptions<DiskFile> & {
/**
* Uploads directory
* @defaultValue './files'
*/
directory?: string;
/**
* Configuring metafile storage on the local disk
* @example
* ```ts
* const storage = new DiskStorage({
* directory: 'upload',
* metaStorageConfig: { directory: '/tmp/upload-metafiles', prefix: '.' }
* });
* ```
*/
metaStorageConfig?: LocalMetaStorageOptions;
};
/**
* Local Disk Storage
*/
export declare class DiskStorage extends BaseStorage<DiskFile> {
config: DiskStorageOptions;
checksumTypes: string[];
directory: string;
meta: MetaStorage<DiskFile>;
constructor(config?: DiskStorageOptions);
normalizeError(err: Error): HttpError;
accessCheck(): Promise<void>;
create(req: IncomingMessage, fileInit: FileInit): Promise<DiskFile>;
write(part: FilePart | FileQuery): Promise<DiskFile>;
delete({ id }: FileQuery): Promise<DiskFile[]>;
/**
* Returns path for the uploaded file
*/
getFilePath(filename: string): string;
protected _write(part: FilePart & File): Promise<[number, ERRORS?]>;
}