diff --git a/src/modules/theme/theme.controller.ts b/src/modules/theme/theme.controller.ts index 94335e7..e3745ce 100644 --- a/src/modules/theme/theme.controller.ts +++ b/src/modules/theme/theme.controller.ts @@ -95,10 +95,10 @@ export class ThemeController { } private validMimeType(file: Express.Multer.File) { - const mimeTypesValid = ['image/jpeg', 'image/jpg', 'image/png']; + const mimeTypesValid = ['image/jpeg', 'image/jpg', 'image/png', 'image/svg+xml']; if (file && !mimeTypesValid.includes(file.mimetype)) { - throw new HttpException(`O Arquivo ${file.fieldname} deve ser jpeg, jpg ou png`, HttpStatus.BAD_REQUEST); + throw new HttpException(`O Arquivo ${file.fieldname} deve ser jpeg, jpg, png ou svg`, HttpStatus.BAD_REQUEST); } } diff --git a/src/modules/theme/theme.service.ts b/src/modules/theme/theme.service.ts index 64583e7..b62338b 100644 --- a/src/modules/theme/theme.service.ts +++ b/src/modules/theme/theme.service.ts @@ -96,11 +96,18 @@ export class ThemeService implements OnModuleInit { private async sendFile(file: Express.Multer.File, stream$: ReplaySubject) { const chunkSize = 4 * 1024 * 1024; const bufferStream = new CustomBufferStream(file.buffer, chunkSize); + const parseMimitypeForExtension = { + 'image/jpeg': '.jpeg', + 'image/jpg': '.jpg', + 'image/png': '.png', + 'image/svg+xml': '.svg', + } + + const extension = parseMimitypeForExtension[file.mimetype]; return new Promise((resolve, reject) => { bufferStream.on('data', (chunk) => { - const mimetype = file.mimetype.split('/')[1]; // example image/jpeg - const filename = file.fieldname.concat(".", mimetype); + const filename = file.fieldname.concat(extension); stream$.next({ customerId: '', displayName: '',