X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fexpress-utils.ts;h=0ff1132742504099a9d4a2ce5cf09e9318cfed9f;hb=883a9019085ff9013079d6b1539b86f2f519175a;hp=ede22a3cc9c90599ee04b4bc365d18933983ad4d;hpb=ad35265d743e621d86f3f0796dd9d8795c599dca;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/express-utils.ts b/server/helpers/express-utils.ts index ede22a3cc..0ff113274 100644 --- a/server/helpers/express-utils.ts +++ b/server/helpers/express-utils.ts @@ -1,13 +1,13 @@ import * as express from 'express' import * as multer from 'multer' +import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes' +import { CONFIG } from '../initializers/config' import { REMOTE_SCHEME } from '../initializers/constants' +import { getLowercaseExtension } from './core-utils' +import { isArray } from './custom-validators/misc' import { logger } from './logger' import { deleteFileAndCatch, generateRandomString } from './utils' -import { extname } from 'path' -import { isArray } from './custom-validators/misc' -import { CONFIG } from '../initializers/config' import { getExtFromMimetype } from './video' -import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes' function buildNSFWFilter (res?: express.Response, paramNSFW?: string) { if (paramNSFW === 'true') return true @@ -30,21 +30,19 @@ function buildNSFWFilter (res?: express.Response, paramNSFW?: string) { return null } -function cleanUpReqFiles (req: { files: { [fieldname: string]: Express.Multer.File[] } | Express.Multer.File[] }) { - const files = req.files - - if (!files) return +function cleanUpReqFiles (req: express.Request) { + const filesObject = req.files + if (!filesObject) return - if (isArray(files)) { - (files as Express.Multer.File[]).forEach(f => deleteFileAndCatch(f.path)) + if (isArray(filesObject)) { + filesObject.forEach(f => deleteFileAndCatch(f.path)) return } - for (const key of Object.keys(files)) { - const file = files[key] + for (const key of Object.keys(filesObject)) { + const files = filesObject[key] - if (isArray(file)) file.forEach(f => deleteFileAndCatch(f.path)) - else deleteFileAndCatch(file.path) + files.forEach(f => deleteFileAndCatch(f.path)) } } @@ -79,7 +77,7 @@ function createReqFiles ( filename: async (req, file, cb) => { let extension: string - const fileExtension = extname(file.originalname) + const fileExtension = getLowercaseExtension(file.originalname) const extensionFromMimetype = getExtFromMimetype(mimeTypes, file.mimetype) // Take the file extension if we don't understand the mime type