[express-fileupload] Updated definition after testing it in app code (#18869)

This commit is contained in:
Gintautas Miselis
2017-08-14 19:27:21 +01:00
committed by Mohamed Hegazy
parent cb6623ffbf
commit a91ea3e7fa
2 changed files with 30 additions and 19 deletions

View File

@@ -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;

View File

@@ -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;
}
}