-import * as express from 'express'
-import * as multer from 'multer'
-import { extname } from 'path'
-import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes'
+import express from 'express'
+import multer, { diskStorage } from 'multer'
+import { HttpStatusCode } from '../../shared/models/http/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'
return null
}
-function cleanUpReqFiles (
- req: { files: { [fieldname: string]: Express.Multer.File[] } | Express.Multer.File[] }
-) {
+function cleanUpReqFiles (req: express.Request) {
const filesObject = req.files
if (!filesObject) return
return host
}
-function badRequest (req: express.Request, res: express.Response) {
+function badRequest (_req: express.Request, res: express.Response) {
return res.type('json')
.status(HttpStatusCode.BAD_REQUEST_400)
.end()
mimeTypes: { [id: string]: string | string[] },
destinations: { [fieldName: string]: string }
) {
- const storage = multer.diskStorage({
+ const storage = diskStorage({
destination: (req, file, cb) => {
cb(null, destinations[file.fieldname])
},
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