+function createReqFiles (fieldName: string, storageDir: string, mimeTypes: { [ id: string ]: string }) {
+ const storage = multer.diskStorage({
+ destination: (req, file, cb) => {
+ cb(null, storageDir)
+ },
+
+ filename: async (req, file, cb) => {
+ const extension = mimeTypes[file.mimetype]
+ let randomString = ''
+
+ try {
+ randomString = await generateRandomString(16)
+ } catch (err) {
+ logger.error('Cannot generate random string for file name.', err)
+ randomString = 'fake-random-string'
+ }
+
+ cb(null, randomString + extension)
+ }
+ })
+
+ return multer({ storage }).fields([{ name: fieldName, maxCount: 1 }])
+}
+