mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import express = require('express');
|
|
import { RequestHandler, Request, Response, NextFunction } from 'express-serve-static-core';
|
|
import fileUpload = require('express-fileupload');
|
|
|
|
type UploadedFile = fileUpload.UploadedFile;
|
|
|
|
const app: express.Express = express();
|
|
|
|
app.use(fileUpload({debug: true}));
|
|
|
|
function isUploadedFile(file: UploadedFile | UploadedFile[]): file is UploadedFile {
|
|
return typeof file === 'object' && (file as UploadedFile).name !== undefined;
|
|
}
|
|
|
|
const uploadHandler: RequestHandler = (req: Request, res: Response, next: NextFunction) => {
|
|
if (typeof req.files === 'object') {
|
|
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;
|
|
if (Array.isArray(fileList)) {
|
|
for (const file of fileList) {
|
|
console.log(file.name);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
app.post('/upload', uploadHandler);
|