28 lines
698 B
TypeScript
28 lines
698 B
TypeScript
import { BadRequestException } from '@nestjs/common'
|
|
|
|
export const imageFileFilter = (
|
|
req: any,
|
|
file: Express.Multer.File,
|
|
callback: (error: Error | null, acceptFile: boolean) => void,
|
|
) => {
|
|
if (!file.mimetype.startsWith('image/')) {
|
|
return callback(new BadRequestException('Only image files are allowed'), false)
|
|
}
|
|
|
|
const allowed = ['image/jpeg', 'image/png', 'image/webp']
|
|
|
|
if (!allowed.includes(file.mimetype)) {
|
|
return callback(
|
|
new BadRequestException('Only JPEG, PNG, WEBP images are allowed'),
|
|
false,
|
|
)
|
|
}
|
|
|
|
callback(null, true)
|
|
}
|
|
|
|
export const multerImageOptions = {
|
|
fileFilter: imageFileFilter,
|
|
limits: { fileSize: 5 * 1024 * 1024 }, // 5MB
|
|
}
|