mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-02-16 10:42:08 +00:00
Refactor
Extract upload middleware to separate file and implement edit profile functionality.
This commit is contained in:
30
src/config/multer/uploadMiddleware.ts
Normal file
30
src/config/multer/uploadMiddleware.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import multer from 'multer';
|
||||
import { expressWrapper } from 'next-connect';
|
||||
import cloudinaryConfig from '../cloudinary';
|
||||
|
||||
const { storage } = cloudinaryConfig;
|
||||
|
||||
const fileFilter: multer.Options['fileFilter'] = (req, file, callback) => {
|
||||
const { mimetype } = file;
|
||||
|
||||
const isImage = mimetype.startsWith('image/');
|
||||
|
||||
if (!isImage) {
|
||||
callback(null, false);
|
||||
}
|
||||
callback(null, true);
|
||||
};
|
||||
|
||||
export const uploadMiddlewareMultiple = expressWrapper(
|
||||
multer({ storage, fileFilter, limits: { files: 5, fileSize: 15 * 1024 * 1024 } }).array(
|
||||
'images',
|
||||
),
|
||||
);
|
||||
|
||||
export const singleUploadMiddleware = expressWrapper(
|
||||
multer({
|
||||
storage,
|
||||
fileFilter,
|
||||
limits: { files: 1, fileSize: 15 * 1024 * 1024 },
|
||||
}).single('image'),
|
||||
);
|
||||
Reference in New Issue
Block a user