Extract upload middleware to separate file and implement edit profile functionality.
This commit is contained in:
Aaron William Po
2023-12-01 00:23:30 -05:00
parent 0c09db24a7
commit ab252c41b9
8 changed files with 319 additions and 58 deletions

View 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'),
);