multer-cloud-storage
Version:
Multer storage engine for Google Cloud Storage
28 lines (27 loc) • 1.18 kB
TypeScript
import multer = require('multer');
import { PredefinedAcl, StorageOptions } from '@google-cloud/storage';
import { Request } from 'express';
export type MulterGoogleCloudStorageOptions = {
acl?: PredefinedAcl;
bucket?: string;
contentType?: ContentTypeFunction | string;
destination?: any;
filename?: any;
filenameEncoding?: boolean;
hideFilename?: boolean;
uniformBucketLevelAccess?: boolean;
};
export default class MulterGoogleCloudStorage implements multer.StorageEngine {
private gcsBucket;
private gcsStorage;
private options;
getFilename(req: any, file: any, cb: any): void;
getDestination(req: any, file: any, cb: any): void;
getContentType(req: any, file: any): any;
private getBlobFileReference;
constructor(opts?: StorageOptions & MulterGoogleCloudStorageOptions);
_handleFile: (req: any, file: any, cb: any) => void;
_removeFile: (req: any, file: any, cb: any) => void;
}
export declare function storageEngine(opts?: StorageOptions & MulterGoogleCloudStorageOptions): MulterGoogleCloudStorage;
export type ContentTypeFunction = (req: Request, file: Express.Multer.File) => string | undefined;