diff --git a/apps/server/src/core/attachment/attachment.constants.ts b/apps/server/src/core/attachment/attachment.constants.ts index e6e75fe..73c2c30 100644 --- a/apps/server/src/core/attachment/attachment.constants.ts +++ b/apps/server/src/core/attachment/attachment.constants.ts @@ -5,10 +5,10 @@ export enum AttachmentType { File = 'file', } -export const validImageExtensions = ['.jpg', '.png', '.jpeg', 'gif']; +export const validImageExtensions = ['.jpg', '.png', '.jpeg']; export const MAX_AVATAR_SIZE = '5MB'; -export const InlineFileExtensions = [ +export const inlineFileExtensions = [ '.jpg', '.png', '.jpeg', diff --git a/apps/server/src/core/attachment/attachment.controller.ts b/apps/server/src/core/attachment/attachment.controller.ts index 711ab8e..c06769f 100644 --- a/apps/server/src/core/attachment/attachment.controller.ts +++ b/apps/server/src/core/attachment/attachment.controller.ts @@ -30,6 +30,7 @@ import { import { getMimeType } from '../../common/helpers'; import { AttachmentType, + inlineFileExtensions, MAX_AVATAR_SIZE, MAX_FILE_SIZE, } from './attachment.constants'; @@ -177,6 +178,14 @@ export class AttachmentController { 'Content-Type': attachment.mimeType, 'Cache-Control': 'public, max-age=3600', }); + + if (!inlineFileExtensions.includes(attachment.fileExt)) { + res.header( + 'Content-Disposition', + `attachment; filename="${attachment.fileName}"`, + ); + } + return res.send(fileStream); } catch (err) { this.logger.error(err);