| 12345678910111213141516171819202122232425262728293031 |
- import multer from 'multer'
- import Settings from '@overleaf/settings'
- import logger from '@overleaf/logger'
- const upload = multer({
- dest: Settings.path.uploadFolder,
- limits: {
- fileSize: Settings.maxUploadSize,
- parts: 2,
- },
- })
- function multerMiddleware(req, res, next) {
- return upload.single('qqfile')(req, res, function (err) {
- if (err instanceof multer.MulterError && err.code === 'LIMIT_FILE_SIZE') {
- return res.status(422).json({ success: false, error: 'file_too_large' })
- }
- if (err) return next(err)
- if (!req.file?.path) {
- logger.info({ req }, 'missing req.file.path on upload')
- return res
- .status(400)
- .json({ success: false, error: 'invalid_upload_request' })
- }
- next()
- })
- }
- export default {
- multerMiddleware,
- }
|