From a91ea3e7face47ee6cf1cdd2a8a4c638f61c7e78 Mon Sep 17 00:00:00 2001 From: Gintautas Miselis Date: Mon, 14 Aug 2017 19:27:21 +0100 Subject: [PATCH] [express-fileupload] Updated definition after testing it in app code (#18869) --- .../express-fileupload-tests.ts | 9 ++++- types/express-fileupload/index.d.ts | 40 ++++++++++--------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/types/express-fileupload/express-fileupload-tests.ts b/types/express-fileupload/express-fileupload-tests.ts index 61b8c2a9cc..21115937d1 100644 --- a/types/express-fileupload/express-fileupload-tests.ts +++ b/types/express-fileupload/express-fileupload-tests.ts @@ -1,6 +1,8 @@ import * as express from 'express'; import { RequestHandler, Request, Response, NextFunction } from 'express-serve-static-core'; -import { fileUpload, UploadedFile } from 'express-fileupload'; +import fileUpload = require('express-fileupload'); + +type UploadedFile = fileUpload.UploadedFile; const app: express.Express = express(); @@ -15,6 +17,11 @@ const uploadHandler: RequestHandler = (req: Request, res: Response, next: NextFu const fileField = req.files.field; if (isUploadedFile(fileField)) { console.log(fileField.name); + fileField.mv('/tmp/test', (err) => { + if (err) { + console.log('Error while copying file to target location'); + } + }); } const fileList = req.files.fileList; diff --git a/types/express-fileupload/index.d.ts b/types/express-fileupload/index.d.ts index 33863758b4..89331c066a 100644 --- a/types/express-fileupload/index.d.ts +++ b/types/express-fileupload/index.d.ts @@ -9,28 +9,32 @@ import express = require('express'); declare global { namespace Express { interface Request { - files?: FileArray; + files?: fileUpload.FileArray; } } } -export class FileArray { - [index: string]: UploadedFile | UploadedFile[] -} +export = fileUpload; -export interface UploadedFile { - name: string; - encoding: string; - mimetype: string; - data: Buffer; - mv(path: string, callback: (err: any) => {}): void; -} +declare function fileUpload(options?: fileUpload.Options): express.RequestHandler; -export interface Options { - debug?: boolean; - safeFileNames?: boolean; - preserveExtension?: boolean | string | number; - [property: string]: any; -} +declare namespace fileUpload { + class FileArray { + [index: string]: UploadedFile | UploadedFile[] + } -export function fileUpload(options?: Options): express.RequestHandler; + interface UploadedFile { + name: string; + encoding: string; + mimetype: string; + data: Buffer; + mv(path: string, callback: (err: any) => void): void; + } + + interface Options { + debug?: boolean; + safeFileNames?: boolean; + preserveExtension?: boolean | string | number; + [property: string]: any; + } +}